una renombrar otro otra navegar gestion directorios directorio copiar carpeta buscar archivos archivo actual python directory move

renombrar - python directorio actual



Mover todos los archivos de un directorio a otro usando Python (4)

Copiar el archivo ".txt" de una carpeta a otra es muy simple y la pregunta contiene la lógica. Solamente la parte faltante está sustituyendo con la información correcta de la siguiente manera:

import os, shutil, glob src_fldr = r"Source Folder/Directory path"; ## Edit this dst_fldr = "Destiantion Folder/Directory path"; ## Edit this try: os.makedirs(dst_fldr); ## it creates the destination folder except: print "Folder already exist or some error";

las siguientes líneas de código copiarán el archivo con los archivos de extensión * .txt de src_fldr a dst_fldr

for txt_file in glob.glob(src_fldr+"//*.txt"): shutil.copy2(txt_file, dst_fldr);

Quiero mover todos los archivos de texto de una carpeta a otra usando Python. Encontré este código:

import os, shutil, glob dst = ''/path/to/dir/Caches/com.apple.Safari/WebKitCache/Version/ 4/Blobs '' try: os.makedirs(/path/to/dir/Tumblr/Uploads) # create destination directory, if needed (similar to mkdir -p) except OSError: # The directory already existed, nothing to do pass for txt_file in glob.iglob(''*.txt''): shutil.copy2(txt_file, dst)

Me gustaría que mueva todos los archivos en la carpeta Blob . No estoy recibiendo un error, pero tampoco está moviendo los archivos.


Esto debería funcionar. Lea también la documentation del módulo de shutil para elegir la función que se ajuste a sus necesidades (shutil.copy (), shutil.copy2 (), shutil.copyfile () o shutil.move ()).

import glob, os, shutil source_dir = ''/path/to/dir/with/files'' #Path where your files are at the moment dst = ''/path/to/dir/for/new/files'' #Path you want to move your files to files = glob.iglob(os.path.join(source_dir, "*.txt")) for file in files: if os.path.isfile(file): shutil.copy2(file, dst)


Por favor, eche un vistazo a la implementación de la función copytree que:

  • Listar archivos de directorio con:

    names = os.listdir(src)

  • Copia archivos con:

    for name in names: srcname = os.path.join(src, name) dstname = os.path.join(dst, name) copy2(srcname, dstname)

No es necesario obtener dstname , porque si el parámetro de destino especifica un directorio, el archivo se copiará en dst utilizando el nombre de archivo base de srcname .

Reemplace copy2 por mover .


Prueba esto..

import shutil import os source = ''/path/to/source_folder'' dest1 = ''/path/to/dest_folder'' files = os.listdir(source) for f in files: shutil.move(source+f, dest1)