日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

perl 处理文件路径的一些模块

發布時間:2024/6/21 编程问答 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 perl 处理文件路径的一些模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

perl有句格言:There is more than one way to do it。意思就是任何問題用perl都有好幾種解決方法。以前處理文件路徑的時候都是自己寫正則表達式,而用perl的模塊來解決則更加迅速、準確。?

1). File::Basename?

有3個方法:fileparse、basename、dirname。?
用法:?
?????? ($name,$path,$suffix) = fileparse($fullname,@suffixlist);?
??????? $basename = basename($fullname,@suffixlist);?
??????? $dirname = dirname($fullname);?

說明:?
a) 方法fileparse是將一個文件的全路徑拆成三部分,文件名、目錄名和后綴,@suffixlist是給一個后綴的集合。例如?
($base,$path,$type) = fileparse('\\virgil\\aeneid\\draft.book7', qr{\.book\d+});?
則輸出 $base ==> draft; $path ==> \virgil\aeneid\; $type ==> book7。?
b) 方法basename和fileparse的輸入格式一樣,返回的是文件名加后綴。?
c) 方法dirname返回文件目錄名。?
注意,dirname和fileparse第二個返回值的比較:?
i) 目錄結尾有無\;?
dirname('\\virgil\\aeneid\\draft.book7') ==> \virgil\aeneid?
fileparse('\\virgil\\aeneid\\draft.book7') ==> \virgil\aeneid\?
ii) 輸入參數為目錄;?
dirname('virgil\\') ==> .?
fileparse('virgil\\') ==> virgil\?

2). File::Spec::Functions?

這個模塊輸出File::Spec類的方法,分為兩類:?
(1) 可直接調用:?
canonpath||catdir||catfile||curdir||rootdir||updir||no_upwards||file_name_is_absolute||path?
(2) 以 File::Spec->方法名的形式調用:?
devnull||tmpdir||splitpath||splitdir||catpath||abs2rel||rel2abs||case_toleran?

這里舉幾個常用的方法說明一下:?
a) 方法catdir:將目錄合并,?
catfile('a','b','c') ==> a\b\c?
b) 方法splitdir:與catdir相反,拆分目錄?
File::Spec->splitdir('a\\b\\c\\') ==>('a','b','c',' ') #注意最后有個空格?

3). File::Path?

有2個方法:mkpath和rmtree,分別為創建目錄和刪除目錄。?

perl語言本身自帶了mkdir和rmdir,那為什么還要選用 mkpath和rmtree呢?自帶的mkdir只能一次創建一級目錄,而mkpath則可以一次創建多級;rmdir必須要求目錄為空,而rmtree 則任意。總之,File::Path為我們提供了另一種創建和刪除目錄的機制,由用戶自己選用。?

說明:?
a) mkpath(directory, 1, 0711);?
第一個參數為目錄名,第二個參數為一個bool值,為真的時候打印每次創建的目錄,默認為假,最后一個參數為目錄的權限。?
b) rmtree(directory, 1, 1);?
第一個參數為目錄名,第二個參數為一個bool值,為真的時候打印刪除文件時的一些信息,默認為假,最后一個參數也是一個bool值,為真的時候對沒有刪除權限的文件直接跳過。

轉載于:https://www.cnblogs.com/yechanglv/p/6923202.html

總結

以上是生活随笔為你收集整理的perl 处理文件路径的一些模块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。