pythonunixlast-modified

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


I have a python script that downloads a file over FTP using ftplib.

My current download code looks just like the example in the ftp lib docs:

ftp.retrbinary('RETR README', open('README', 'wb').write)

Now I have a requirement that the file downloaded over FTP needs to have the same last modified time as the file on the FTP server itself. Assuming I could parse out the time from ftp.retrlines('list'), how can I set the modified time on the downloaded file?

I'm on a unix based OS if that matters.


Solution

  • Use os.utime:

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

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