Python | os.utime() method
Last Updated :
15 Jan, 2024
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)
OutputCurrent 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)
OutputCurrent 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)
OutputCurrent 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