功能描述:将源文件夹下文件名中,指定关键字的文件批量复制到另一文件夹中。
配置文件:searchList.txt 存放关键字
参数:源文件路径、目标文件路径
import os
import shutil'''
将源文件夹下文件名中含有关键字的文件批量复制到另一文件夹中
'''# copy函数,参数:源文件路径 目标路径 关键字
def searchCopyFile(src_dir_path, to_dir_path, key):if not os.path.exists(to_dir_path):# print("to_dir_path not exist,so create the dir")os.mkdir(to_dir_path, 1)if os.path.exists(src_dir_path):# print("src_dir_path exist")for file in os.listdir(src_dir_path):# is fileif os.path.isfile(src_dir_path + '/' + file):if key in file:# print('找到包含"' + key + '"字符的文件,绝对路径为----->' + src_dir_path + '/' + file)# print('复制到----->' + to_dir_path + '/' + file)shutil.copy(src_dir_path + '/' + file, to_dir_path + '/' + file) # 移动用move函数return True#src_dir_path = 'D:/workSpace/python_work/learn/CA収納' # 源文件夹 修改1
#to_dir_path = 'D:/workSpace/python_work/learn/CA収納2' # 存放复制文件的文件夹 修改2path1 = input("Please enter the source path:")
path2 = input("Please enter the target path:")print("******************************program start************************************")src_dir_path = path1.replace('\\', '/')
to_dir_path = path2.replace('\\', '/')file = open('searchList.txt', 'r', encoding='utf-8')
failFile = open('failList.txt', 'w', encoding='utf-8')
totalNum = 0
succeedNum = 0
failNum = 0# 按行读入
while True:# 关键词 去除换行\nkey = file.readline().strip('\n')totalNum = totalNum + 1if not key:breakfalg = searchCopyFile(src_dir_path, to_dir_path, key)if falg == True:print("succeed " + key)succeedNum = succeedNum + 1else:print("fail " + key)failFile.writelines("fail " + key)failNum = failNum + 1
file.close()
failFile.close()
print("******************************program end**************************************")
print("source path :" + src_dir_path)
print("target path :" + to_dir_path)
print('totalNum = ' + str(totalNum) + '\t' + "succeedNum = " + str(succeedNum) + '\t' + "failNum =" + str(failNum))