Python | os.rename() method
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.