Im trying to create a function where if file modified, then perform task. I am able to do this if a file exists by doing -
import os
file_path = 'C:/Hi/'
if os.listdir(file_path):
do xyz
But how can i do xyz based on if a files date was modified?
os.path.getmtime(file_path)
Only gets the time but cant be used in my if statement
CodePudding user response:
Try:
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")
The if
condition detects a file modification within the specified time span, preferably since the last check for modifications.
CodePudding user response:
Try This Maybe This You want:
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!')