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)