**問題** 我試圖打開(在python中)比當前名稱中的日期戳更早3天的文件。例如:2016_08_18_23_10_00 - JPN - MLB - Mickeymouse v Burgerface.ply。到目前爲止,我可以創建一個日期變量,但是我不知道如何在文件名中搜索這個變量。我想我需要先將它轉換爲字符串?打開文件名中日期戳超過3天的文件 - Python 2.7
from datetime import datetime, timedelta
import os
import re
path = "C:\Users\michael.lawton\Desktop\Housekeeper"
## create variable d where current date time is subtracted by 3 days ##
days_to_subtract = 3
d = datetime.today() - timedelta(days=days_to_subtract)
print d
## open file in dir where date in filename = d or older ##
for filename in os.listdir(path):
if re.match(d, filename):
with open(os.path.join(path, filename), 'r') as f:
print line,
任何幫助將非常感激
附註:使用Windows路徑的原始字符串(以及正則表達式)。它這次沒有咬你(你很幸運),但最終當你有一個路徑時,其中的文件或目錄的名字以'b','f','n '等等(讓你分別嵌入退格,換頁或換行符)。只需在文字前加一個'r'(並且不要用反斜槓結尾),例如'path = r「C:\ Users \ michael.lawton \ Desktop \ Housekeeper」'這不會偶然發生。 – ShadowRanger
非常感謝! – user6705306
如果你想打開3天以前的文件,而不是年輕的一分鐘,那麼你必須考慮當地的時區。請參閱[查找是否在日期時間之間經過了24小時 - Python](http://stackoverflow.com/q/26313520/4279) – jfs