Friday, October 3, 2025
HomeLanguagesPython – os.replace() method

Python – os.replace() method

Prerequisite: OS module in Python.

os.replace() method in Python is used to rename the file or directory. If destination is a directory, OSError will be raised. If the destination exists and is a file, it will be replaced without error if the action performing user has permission. This method may fail if the source and destination are on different filesystems.

Syntax: os.replace(source, destination, *, src_dir_fd=None, dst_dir_fd=None2)

Parameter:

  • source: Name of file or directory which we want to rename.
  • destination: Name which we want to give in destination.
  • src_dir_id : This parameter stores the source directory’s or file, 
               file descriptor referring to a directory.
  • dst_dir_fd: It is a file descriptor referring to a directory, 
                and the path to operate. It should be relative, 
                path will then be relative to that directory. If 
                the path is absolute, dir_fd is ignored.

Return Type: This method does not return any value.

Code #1: Use of os.replace() method to rename a file.

Python3




# Python program to explain os.replace() method
 
# importing os module
import os
 
# file name
file = "f.txt"
 
# File location which to rename
location = "d.txt"
 
# Path
path = os.replace(file, location)
 
# renamed the file f.txt to d.txt
print("File %s is renamed successfully" % file)


Output:

File f.txt is renamed successfully

Code #2: Handling possible errors. (If necessary permissions are given then output will be as shown in below) 

Python




# Python program to explain os.replace() method
 
# importing os module
import os
 
# Source file path
source = './file.txt'
 
# destination file path
dest = './da'
 
 
# try renaming the source path
# to destination path
# using os.rename() method
 
try:
    os.replace(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:


Output:

Source is a file but destination is a directory.
RELATED ARTICLES

Most Popular

Dominic
32332 POSTS0 COMMENTS
Milvus
85 POSTS0 COMMENTS
Nango Kala
6703 POSTS0 COMMENTS
Nicole Veronica
11868 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11929 POSTS0 COMMENTS
Shaida Kate Naidoo
6819 POSTS0 COMMENTS
Ted Musemwa
7080 POSTS0 COMMENTS
Thapelo Manthata
6775 POSTS0 COMMENTS
Umr Jansen
6776 POSTS0 COMMENTS