En este artículo, aprenderemos a mover una colección de archivos y carpetas donde puede haber archivos/carpetas con el mismo nombre que en el nombre de origen en el destino. Por lo que es posible que tengamos que sobrescribir el archivo de destino existente con el archivo de origen.
El método shutil.move() se usa para mover un archivo o directorio de un lugar a otro. Si hay un directorio o archivo existente en el destino que se verificará con el método os.path.isfile() y os.path.isdir() , se eliminará con el método os.remove() , y si es un directorio, luego se eliminará usando el método shutil.rmtree() y luego se moverá el archivo.
Sintaxis:
shutil.move(origen, destino, copy_function = copy2)
Parámetros:
- fuente: una string que representa la ruta del archivo fuente.
- destino: una string que representa la ruta del directorio de destino.
- copy_function (opcional): el valor predeterminado de este parámetro es copy2. Podemos usar otra función de copia como copiar, árbol de copias, etc. para este parámetro.
Valor devuelto: este método devuelve una string que representa la ruta del archivo recién creado.
Llame al método shutil.move(origen, destino) reemplazando el origen y el destino por la ruta completa en formato de string. Con el método anterior, los archivos con el mismo nombre se sobrescribirán con el contenido del archivo del archivo de origen.
Ejemplo 1: Programa para mover una carpeta que contiene un archivo usando python.
Jerarquía de carpetas:
Desktop |_folder_ |_Geeks folder |_test folder_gfg.txt
Python3
# importing os module import os # importing shutil module import shutil # path path = 'C:/Users/KIIT/Desktop/folder' # List files and directories print("Before moving file:") print(os.listdir(path)) # Assign source and destination source = 'test folder' destination = 'Geeks folder' sourcePath = path+'/'+source destinationPath = path+'/'+destination # Check if file already exists if os.path.isdir(destinationPath+'/'+source): print(source, 'exists in the destination path!') shutil.rmtree(destinationPath+'/'+source) elif os.path.isfile(destinationPath+'/'+source): os.remove(destinationPath+'/'+source) print(source, 'deleted in', destination) # Move the content # source to destination dest = shutil.move(sourcePath, destinationPath) # List files and directories print("After moving file:") print(os.listdir(path)) print(source, 'has been moved!') # Print new path of file print("Destination path:", dest)
Producción:
Ejemplo 2: Programa para sobrescribir una carpeta que contiene un archivo usando python.
Jerarquía de carpetas:
Desktop |_folder_ |_Geeks folder_test folder_gfg.txt |_test folder_gfg.txt
Python3
# importing os module import os # importing shutil module import shutil # path path = 'C:/Users/KIIT/Desktop/folder' # List files and directories print("Before moving file:") print(os.listdir(path)) # Assign source and destination source = 'test folder' destination = 'Geeks folder' sourcePath=path+'/'+source destinationPath=path+'/'+destination # Check if file already exists if os.path.isdir(destinationPath+'/'+source): print(source,'exists in the destination path!') shutil.rmtree(destinationPath+'/'+source) elif os.path.isfile(destinationPath+'/'+source): os.remove(destinationPath+'/'+source) print(source,'deleted in',destination) # Move the content # source to destination dest = shutil.move(sourcePath, destinationPath) # List files and directories print("After moving file:") print(os.listdir(path)) print(source,'has been moved!') # Print new path of file print("Destination path:", dest)
Producción:
Publicación traducida automáticamente
Artículo escrito por diwaanchandarig19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA