Python – método os.replace()

Requisito previo: Módulo OS en Python.

El método os.replace() en Python se usa para cambiar el nombre del archivo o directorio. Si el destino es un directorio, se generará OSError . Si el destino existe y es un archivo, se reemplazará sin error si el usuario que realiza la acción tiene permiso. Este método puede fallar si el origen y el destino están en diferentes sistemas de archivos.

Sintaxis: os.replace(origen, destino, *, src_dir_fd=Ninguno, dst_dir_fd=Ninguno2)

Parámetro:

  • source: Nombre del archivo o directorio al que queremos renombrar.
  • destino: Nombre que queremos dar en destino.
  • src_dir_id: este parámetro almacena el 
               descriptor de archivo o archivo del directorio de origen que hace referencia a un directorio.
  • dst_dir_fd: Es un descriptor de archivo que hace referencia a un directorio 
                y la ruta para operar. Debería ser relativo, la 
                ruta será relativa a ese directorio. Si 
                la ruta es absoluta, se ignora dir_fd.

Tipo de devolución: este método no devuelve ningún valor.

Código #1 : uso del método os.replace() para cambiar el nombre de un archivo.

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)

Producción:

File f.txt is renamed successfully

Código #2 : Manejo de posibles errores. (Si se otorgan los permisos necesarios, la salida será como se muestra a continuación) 

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:

Producción:

Source is a file but destination is a directory.

Publicación traducida automáticamente

Artículo escrito por coder36 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *