How can I set the last modified time of a file from python? How can I set the last modified time of a file from python? unix unix

How can I set the last modified time of a file from python?


Use os.utime:

import osos.utime(path_to_file, (access_time, modification_time))

More elaborate example: https://www.tutorialspoint.com/python/os_utime.htm


There are 2 ways to do this. One is the os.utime example whichis required if you are setting the timestamp on a file that has noreference stats.

However, if you are copying the files with shutil.copy() you have areference file. Then if you want the permission bits, last access time,last modification time, and flags also copied, you can useshutil.copystat() immediately after the shutil.copy().

And then there is shutil.copy2 which is intended to do both at once...


To edit a file last modified field, use:

os.utime(<file path>, (<access date epoch>, <modification date epoch>))

Example:

os.utime(r'C:\my\file\path.pdf', (1602179630, 1602179630))

💡 - Epoch is the number of seconds that have elapsed since January 1, 1970. see more


If you are looking for a datetime version:

import datetimeimport osdef set_file_last_modified(file_path, dt):    dt_epoch = dt.timestamp()    os.utime(file_path, (dt_epoch, dt_epoch))# ...now = datetime.datetime.now()set_file_last_modified(r'C:\my\file\path.pdf', now)

💡 - For Python versions < 3.3 use dt_epoch = time.mktime(dt.timetuple())