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