擅长:python、mysql、java
<p>尝试以下方法:</p>
<pre><code>from datetime import datetime, timedelta
import os
import time
folder_root = r'abc/def'
five_days_ago = datetime.today() - timedelta(days=5)
for root, dir_names, file_names in os.walk(folder_root):
file_names = [file_name for file_name in file_names if os.path.splitext(file_name)[1] == '.log']
for file_name in file_names:
cur_file = os.path.join(root, file_name)
modified_time = datetime.strptime(time.ctime(os.path.getmtime(cur_file)), "%a %b %d %H:%M:%S %Y")
if modified_time < five_days_ago:
print 'Removing: {}, last modified {}'.format(cur_file, modified_time)
#os.remove(cur_file) # uncomment when you are sure it has found the correct files
</code></pre>
<p>这使用Python的<code>os.walk()</code>函数迭代所有子文件夹。对于每个文件夹,它只过滤出<code>.log</code>文件,并计算每个文件的修改时间。如果是五天前,则调用<code>os.remove()</code>来删除文件。在</p>