Open In App

Python | os.utime() method

Improve
Improve
Like Article
Like
Save
Share
Report

os.utime() method of OS module in Python is used to set the access and modified time of the specified path.

os.utime() Method Syntax in Python

Syntax: os.utime(path, times = None, *, [ns, ]dir_fd = None, follow_symlinks = True)

Parameter:

  • path: A string or bytes object representing a valid file system path.
  • times (optional): A 2-tuple of the form (atime, mtime) where each member is an integer or float value representing access time and modification time in seconds respectively.
  • ns (optional): A 2-tuple of the form (atime_ns, mtime_ns) where each member is an integer or float value representing access time and modification time in nanoseconds respectively.
  • dir_fd: A file descriptor referring to a directory. The default value of this parameter is None.
  • follow_symlinks: A boolean value either True or False. If True method will follow symbolic link otherwise not.

Return Type: This method does not return any value

Python os.utime() Function Example

Below are some examples by which we can see what is utime in OS module in Python:

Modification and Access Time of a File

In this example, the script uses os.stat() to retrieve the current access and modification times of a file named file.txt. The script then sets new access and modification times for the file using os.utime() with specified values in seconds. After updating the timestamps, the script prints the new values to confirm the changes.

Python3




import os
 
# Path
path = '/home / ihritik / Documents / file.txt'
 
# Print current access and modification time
print("Current access time:", os.stat(path).st_atime)
print("Current modification time:", os.stat(path).st_mtime)
 
# Access time in seconds
atime = 200000000
 
# Modification time in seconds
mtime = 100000000
 
tup = (atime, mtime)
os.utime(path, tup)
 
print("\nAccess and modification time changed\n")
 
# Print current access and modification time
print("Current access time:", os.stat(path).st_atime)
print("Current modification time:", os.stat(path).st_mtime)


Output

Current access time (in seconds): 1568930018.710342
Current modification time (in seconds): 1568930018.610892

Access and modification time changed

Current access time (in seconds): 200000000.0
Current modification time (in seconds): 100000000.0



File Timestamps with Nanosecond Precision

In this example, the script uses os.stat() to display the current access and modification times of the file file.txt in nanoseconds. It then employs utime with the ns argument to update these timestamps to new nanosecond values, subsequently confirming the modifications through printed output.

Python3




import os
 
# Path
path = '/home / ihritik / Documents / file.txt'
 
# Print current access and modification time
print("Current access time (in seconds):", os.stat(path).st_atime)
print("Current modification time (in seconds):", os.stat(path).st_mtime)
 
# Access time in nanoseconds
atime_ns = 20000000012345
 
# Modification time in nanoseconds
mtime_ns = 10000000012345
 
tup = (atime_ns, mtime_ns)
os.utime(path, ns=tup)
 
print("\nAccess and modification time changed\n")
 
# Print current access and modification time
print("Current access time (in seconds):", os.stat(path).st_atime)
print("Current modification time (in seconds):", os.stat(path).st_mtime)


Output

Current access time (in seconds): 1568930018.710342
Current modification time (in seconds): 1568930018.610892

Access and modification time changed

Current access time (in seconds): 20000.000012345
Current modification time (in seconds): 10000.000012345



Modifying File Timestamps using os.utime()

If times parameter is None and ns parameter is unspecified. In this example, the script first displays the current access and modification times of the file file.txt in seconds using os.stat(). It then calls os.utime(path) to update these timestamps to the current time, and subsequently verifies the changes by printing the updated timestamps.

Python3




import os
 
# Path
path = '/home / ihritik / Documents / file.txt'
 
print("Current access time (in seconds):", os.stat(path).st_atime)
print("Current modification time (in seconds):", os.stat(path).st_mtime)
 
os.utime(path)
 
print("\nAccess and modification time changed\n")
 
# Print current access and modification time
print("Current access time (in seconds):", os.stat(path).st_atime)
print("Current modification time (in seconds):", os.stat(path).st_mtime)


Output

Current access time (in seconds): 20000.000012345
Current modification time (in seconds): 10000.000012345

Access and modification time changed

Current access time (in seconds): 1568930018.710342
Current modification time (in seconds): 1568930018.610892





Last Updated : 15 Jan, 2024
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads