OS module in Python provides functions for interacting with the operating system. OS comes under Python’s standard utility modules. This module provides a portable way of using operating system-dependent functionality.
To rename a file or directory in Python you can use os.rename() function of OS module. This method renames a source file or directory to a specified destination file or directory. It takes two parameters – source (current file name) and destination (new file name).
Syntax:
os.rename(source, destination, *, src_dir_fd = None, dst_dir_fd = None)
Parameters:
- source: A path-like object representing the file system path. This is the source file path which is to be renamed.
- destination: A path-like object representing the file system path.
- src_dir_fd (optional): A file descriptor referring to a directory.
- dst_dir_fd (optional): A file descriptor referring to a directory.
Return Type:
This method does not return any value.
Using os.rename() function and Error Handling:
Let’s see the program on how to use the os.rename function of the OS module and how to handle errors while using it.
Code 1: Use of os.rename() method.
# Python program to explain os.rename() method # importing os module import os
# Source file path source = 'GeeksforGeeks/file.txt'
# destination file path dest = 'GeekforGeeks/newfile.txt'
# Now rename the source path # to destination path # using os.rename() method os.rename(source, dest) print ("Source path renamed to destination path successfully.")
|
Code 2: Handling possible errors
# Python program to explain os.rename() method # importing os module import os
# Source file path source = './GeeksforGeeks/file.txt'
# destination file path dest = './GeeksforGeeks/dir'
# try renaming the source path # to destination path # using os.rename() method try :
os.rename(source, dest)
print ("Source path renamed to destination path successfully.")
# If Source is a file # but destination is a directory except IsADirectoryError:
print ("Source is a file but destination is a directory.")
# If source is a directory # but destination is a file except NotADirectoryError:
print ("Source is a directory but destination is a file .")
# For permission related errors except PermissionError:
print ("Operation not permitted.")
# For other errors except OSError as error:
print (error)
|
Reference Material: https://docs.python.org/3/library/os.html#os.rename
In this article, we have covered using os.rename() function to rename a file or directory in Python. This is a very easy and straightforward way of renaming a file or directory in Python. OS module provides a list of functions used to interact with the operating system.