python copy files by wildcards

ぃ、小莉子 提交于 2019-11-27 07:45:08
jseanj
import glob
import shutil
dest_dir = "C:/test"
for file in glob.glob(r'C:/*.txt'):
    print(file)
    shutil.copy(file, dest_dir)

Use glob.glob() to get a list of the matching filenames and then iterate over the list.

I am using python 2.7 test first to make sure it will work. I used the wildcard * because I add the date to all my text files. filename1_2016_04_18.txt Also some of the text files have different end users attached to the text file. 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))
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!