Python : Get Last Modification date & time of a file. | os.stat() | os.path.getmtime()

Getting the Last Modification date & time of a file. | os.stat() | os.path.getmtime() in Python.

 We will see how we can get the modification date & time of a file and in our desired formats.

Get last modification time of a file using os.stat( ) :

Syntax-os.stat(filePath)

The above function returns os.stat_result that contains stats about the file .

To get the modification time, we have to use the ST_MTIME that will provide us with the modification time in seconds. We will pass it to a function time.ctime( ) which will return the info in a readable manner.

import os
import time
import stat
#Path of the file
fileStats = os.stat ( 'file.txt' )
#Passing the stats so that we get it in a readable manner
modTime = time.ctime ( fileStats [ stat.ST_MTIME ] )
print("Modified Time : ", modTime )
Output :
Modified Time :  Thu May 13 19:02:47 2021

Get last modification time of a file using os.path.getmtime() :

We can also use another one of python’s os module function i.e. os.path.getmtime( )

Syntax-os.path.getmtime( filePath)

The function returns the number of seconds elapsed after the modification of the file .We have to convert it into a proper format.

  • Get last modification time using os.path.getmtime() & time.localtime( ) :

import os
import time
#Path of the file going inside the function that returns the number of seconds elpased since modification
modTimeInSeconds = os.path.getmtime ( 'file.txt' )
#Passing the stats so that we get the modification time in a readable manner
modTime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(modTimeInSeconds))
print("Modified Time : ", modTime )
Output:
Modified Time :  2021-05-13 19:02:47

The function time.localtime( ) converts the seconds to a strruct_time which when passed into strftime( ) returns the timestamp in readable format.

Also we can set the format in strftime( ) to get only the modification date.

import os
import time
#Path of the file going inside the function that returns the number of seconds elpased since modification
modTimeInSeconds = os.path.getmtime ( 'file.txt' )
#Passing the stats so that we get the modification time in a readable manner
modTime = time.strftime('%d/%m/%Y',time.localtime(modTimeInSeconds))
print("Modified Time : ", modTime )
Output :
Modified Time :  13/05/2021
  • Get last modification time using os.path.getmtime() & datetime.fromtimestamp() :

We can also find the modification time of the file without using time.localtime() using datetime.fromtimestamp().

import os
import time
import datetime
#Path of the file going inside the function that returns the number of seconds elpased since modification
modTimeInSeconds = os.path.getmtime ( 'file.txt' )
#Passing the stats so that we get the modification time in a readable manner
modTime = datetime.datetime.fromtimestamp(modTimeInSeconds).strftime('%Y-%m-%d %H:%M:%S')
print("Modified Time : ", modTime )
Output :
Modified Time :  2021-05-13 19:02:47
  • Get last modification time of a file in UTC Timezone :

To obtain the last modification time, we can use datetime.utcfromtimestamp( )

import os
import time
import datetime
#Path of the file going inside the function that returns the number of seconds elpased since modification
modTimeInSeconds = os.path.getmtime ( 'file.txt' )
#Passing the stats so that we get the modification time in a readable manner
modTime = datetime.datetime.utcfromtimestamp(modTimeInSeconds).strftime('%Y-%m-%d %H:%M:%S')
print("Modified Time : ", modTime )
Output :
Modified Time :  2021-05-13 13:32:47