我正在学习 python (python3) ,我可以将1个文件复制到一个新的目录 这么做
import shutil shutil.copyfile('C:/test/test.txt', 'C:/lol/test.txt')
我现在要做的是将所有 * . txt 文件从 C:/复制到 C:/test
* . txt 是一个通配符,用于搜索硬盘上的所有文本文件
使用 glob.glob()获取匹配文件名的列表,然后迭代该列表。
glob.glob()
import glob import shutil dest_dir = "C:/test" for file in glob.glob(r'C:/*.txt'): print(file) shutil.copy(file, dest_dir)
我首先使用 python 2.7测试来确保它能够工作。 我使用通配符 * 是因为我将日期添加到所有文本文件中 另外,一些文本文件有不同的最终用户附加到文本文件. 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))