[英]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.getmtime
或os.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.