我試圖創建一個函式,如果檔案被修改,則執行任務。如果檔案存在,我可以這樣做 -
import os
file_path = 'C:/Hi/'
if os.listdir(file_path):
do xyz
但是,如果檔案日期被修改,我怎么能做 xyz 呢?
os.path.getmtime(file_path)
只得到時間但不能在我的 if 陳述句中使用
uj5u.com熱心網友回復:
嘗試:
import os
import time
no_of_seconds_since_last_check = 30
if time.time() - os.path.getmtime(file_path) < no_of_seconds_since_last_check :
print("doing xyz")
該if條件檢測指定時間跨度內的檔案修改,最好是自上次檢查修改后。
uj5u.com熱心網友回復:
試試這個也許你想要的:
import os
from time import sleep
folder_path = r'C:/Hi/'
def check_if_modifed(files : list , data):
while True:
sleep(2)
for file in files:
last_modifed = os.path.getatime(file)
if last_modifed != data[file]:
print(f'{file} Modfied !')
data[file] = last_modifed
if os.listdir(folder_path):
files = os.listdir(folder_path)
current_data = {}
for file in files:
current_data [file] = os.path.getatime(file)
try:
check_if_modifed(files , current_data)
except:
print('Program Finish!')
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/525742.html
上一篇:有沒有辦法簡化if陳述句的塊?
