簡體   English   中英

使用python過濾磁盤上的文件

[英]Using python to filter files on disk

我在下面使用從磁盤中刪除文件。

    def match_files(dir, pattern):
       for dirname, subdirs, files in os.walk(dir):
          for f in files:
             if f.endswith(pattern):
                yield os.path.join(dirname, f)

    # Remove all files in the current dir matching *.txt
    for f in match_files(dn, '.txt'):
       os.remove(f)

我將從磁盤中刪除“今天未更新”的文件。 列出今天的文件。 檢查更新列表。

除了os.stat你可以使用os.path.getmtimeos.path.getctime ,在這個問題上討論了pro / con。 您可以使用datetime.datetime.fromtimestamp將返回的時間戳轉換為datetime對象,然后您可以執行任何操作。 在這個例子中,我將刪除今天未修改的文件,創建剩余文件列表:

from datetime import datetime, timedelta

today = datetime.now().date()
remaining = []
for f in match_files(dn, '.txt'):
   mtime = datetime.fromtimestamp(os.path.getmtime(f)).date()
   if mtime != today:
       os.remove(f)
   else:
       remaining.append(f)

什么是“模式”?

否則,“os.stat”給出文件的日期。 這里有一個帶有“last mod”日期的樣本。

    stats = os.stat(file)
    lastmod_date = time.localtime(stats[8])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM