Cómo copiar todos los archivos de un directorio a otro en python. Tengo la ruta de origen y la ruta de destino en una cadena.copiar varios archivos en python
Respuesta
Puede utilizar os.listdir() para obtener los archivos en el directorio de origen, os.path.isfile() para ver si son archivos normales (incluyendo enlaces simbólicos en sistemas * nix), y shutil.copy hacer la copia.
El siguiente código copia solo los archivos normales del directorio de origen en el directorio de destino (supongo que no desea copiar ningún subdirectorio).
import os
import shutil
src_files = os.listdir(src)
for file_name in src_files:
full_file_name = os.path.join(src, file_name)
if (os.path.isfile(full_file_name)):
shutil.copy(full_file_name, dest)
Mire shutil in the Python docs, específicamente el comando copytree.
Buen comentario, pero puede que no sea una opción si el directorio ya existe por algún motivo, como en mi caso. – Sven
Si no desea copiar todo el árbol (con subdirectorios, etc.), use o glob.glob("path/to/dir/*.*")
para obtener una lista de todos los nombres de archivo, recorra la lista y use shutil.copy
para copiar cada archivo.
for filename in glob.glob(os.path.join(source_dir, '*.*')):
shutil.copy(filename, dest_dir)
Nota: es posible que deba verificar los resultados globales con os.path.isfile() para asegurarse de que sean nombres de archivo. Ver también la respuesta de GreenMatt. Si bien glob solo devuelve el nombre de archivo como os.listdir, también devuelve nombres de directorio. El patrón '*. *' Podría ser suficiente, siempre que no tenga nombres de archivo sin extensión o puntos en los nombres de los directorios. – Steven
import os
import shutil
os.chdir('C:\\') #Make sure you add your source and destination path below
dir_src = ("C:\\foooo\\")
dir_dst = ("C:\\toooo\\")
for filename in os.listdir(dir_src):
if filename.endswith('.txt'):
shutil.copy(dir_src + filename, dir_dst)
print(filename)
def recursive_copy_files(source_path, destination_path, override=False):
"""
Recursive copies files from source to destination directory.
:param source_path: source directory
:param destination_path: destination directory
:param override if True all files will be overridden otherwise skip if file exist
:return: count of copied files
"""
files_count = 0
if not os.path.exists(destination_path):
os.mkdir(destination_path)
items = glob.glob(source_path + '/*')
for item in items:
if os.path.isdir(item):
path = os.path.join(destination_path, item.split('/')[-1])
files_count += recursive_copy_files(source_path=item, destination_path=path, override=override)
else:
file = os.path.join(destination_path, item.split('/')[-1])
if not os.path.exists(file) or override:
shutil.copyfile(item, file)
files_count += 1
return files_count
Podría ayudar dar una explicación verbal de su código –
Creo que quiere decir ** sobrescribir **, no ** anular ** –
- 1. Copiar archivos o directorios recursivamente en Python
- 2. Registro de Python en varios archivos
- 3. registro de python en varios archivos
- 4. Copiar varios archivos usando comodines/recursivamente usando Wix
- 5. Cómo copiar varios archivos desde un directorio diferente usando cp?
- 6. Copiar archivos en la carpeta un directorio en python
- 7. ¿Copiar constructor en python?
- 8. Copia efectiva de varios archivos
- 9. JavaScript en varios archivos
- 10. "Con" instrucción en Python con varios archivos para manejar
- 11. ¿Cómo puedo abrir varios archivos usando "con abierto" en Python?
- 12. dividir el código fuente de Python en varios archivos?
- 13. models.py dividirse en varios archivos
- 14. Cómo copiar archivos en java
- 15. ¿Cómo puedo copiar varios archivos binarios en un archivo en un sistema Linux?
- 16. Copiar archivos sin sobreescribir
- 17. Buscar y copiar archivos
- 18. Copiar una secuencia en Python
- 19. ¿Cómo se puede copiar un conjunto de archivos en varios lugares usando Wix?
- 20. copiar y pegar varios archivos utilizando dired en emacs durante el uso de ido.el
- 21. Split views.py en varios archivos
- 22. Varios archivos adjuntos en C#
- 23. Plantillas distribuidas en varios archivos
- 24. Python HDF5 H5Py problemas al abrir varios archivos
- 25. Rellenar varios archivos PDF
- 26. ¿Entradas de varios archivos?
- 27. Fusionando varios archivos javascript
- 28. JSLint con varios archivos
- 29. unir varios archivos
- 30. ¿Tiene varios archivos?
[¿Cómo puedo copiar un directorio completo de archivos en un directorio existente usando Python?] (Http://stackoverflow.com/questions/1868714/how-do-i-copy -un-directorio-completo-de-archivos-en-un-directorio-existente-utilizando-pyth) –