script remove into from files another python file copy glob shutil

remove - shutil python



archivos de copia python por comodines (3)

Estoy aprendiendo python (python 3) y puedo copiar 1 archivo a un nuevo directorio haciendo esto

import shutil shutil.copyfile(''C:/test/test.txt'', ''C:/lol/test.txt'')

Lo que intento hacer ahora es copiar todos los archivos * .txt de C: / a C: / prueba

* .txt es un comodín para buscar todos los archivos de texto en mi disco duro


Primero uso la prueba de Python 2.7 para asegurarme de que funcionará. Utilicé el comodín * porque agregué la fecha a todos mis archivos de texto. filename1_2016_04_18.txt También algunos de los archivos de texto tienen diferentes usuarios finales conectados al archivo de texto. filename2_username.txt

import os, glob directorypath = ''C://Program Files//Common Files'' os.chdir(directorypath) files = [''filename1'', ''filename2'', ''filename3''] print (''A %(files)s''% vars()) for filename in files: file1 = filename + "*" + "." + "txt"; print (''1 %(file1)s''% vars()) file2 = (''%(file1)s'') % vars (); print (''2 %(file2)s''% vars()) file3=glob.glob(file2); print (''3 %(file3)s''% vars()) for filename4 in file3: try: if os.path.isfile(filename4): print (''I am deleteing this file %(filename4)s''% vars()) os.remove(filename4) else: ## Show an error ## print("Error can not delete text file : %s because file not found" % filename4) except OSError, e: ## if failed, report it back to the user ## print ("Error: %s - %s." % (e.filename,e.strerror))


Use glob.glob() para obtener una lista de los nombres de archivo coincidentes y luego itere sobre la lista.


import glob import shutil dest_dir = "C:/test" for file in glob.glob(r''C:/*.txt''): print(file) shutil.copy(file, dest_dir)