我使用time()函數來計算曆元時間,並使用乘法因子和天數來查找它們之間的差異大於修改時間。如何根據修改時間大於2天刪除給定目錄下的所有文件和目錄
但是我無法獲取指定路徑下的列表fo文件和文件夾,以及如何刪除所有非目錄子目錄。
我使用time()函數來計算曆元時間,並使用乘法因子和天數來查找它們之間的差異大於修改時間。如何根據修改時間大於2天刪除給定目錄下的所有文件和目錄
但是我無法獲取指定路徑下的列表fo文件和文件夾,以及如何刪除所有非目錄子目錄。
根據我從Python文檔閱讀,下面不會是等價的,但它會關閉:
do {
opendir(my $dh, $path)
or die("Can't open directory \"$path\": $!\n");
my @files = grep !/^\.\.?\z/, readdir($dh);
closedir($dh)
or die("Error reading directory \"$path\": $!\n");
@files
}
一些差異:
readdir
是否失敗。這本來是更好,如果你已經指定你真正想做的事,而說你想一些其他語言的功能等同,因爲
你在正確的軌道上(儘管你粘貼的代碼段是非法的Perl,例如它沒有分號)。請記住,Perl只是在目錄中徘徊,包括特殊的「。」。和「..」條目,而os.listdir不(見文檔)。
當然,Perl是Perl,有多種方法可以做到這一點,例如,你可以使用像glob或File :: Find之類的東西。
在這裏,我們與另一個Python的Perl問題。 **請在這裏提問之前將您的問題提交給Google。 – MattDMo 2014-11-04 02:18:57
可能的重複[如何在Perl中的目錄的內容中讀取?](http://stackoverflow.com/questions/22566/how-do-i-read-in-the-contents-of-a- directory-in-perl) – MattDMo 2014-11-04 02:22:43
listdir()方法返回一個列表,其中包含路徑給出的目錄中的條目名稱。該列表以任意順序排列。它不包括特殊條目''。'和'..',即使它們存在於目錄中。 – 2014-11-04 02:25:35