Open In App

Python | os.rename() method

Improve
Improve
Like Article
Like
Save
Share
Report

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.

Python3




# 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

Python3




# 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.



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