功能描述:将源文件夹下文件名中,指定关键字的文件批量复制到另一文件夹中。
配置文件: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 file
if 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' # 存放复制文件的文件夹 修改2
path1 = 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:
# 关键词 去除换行\n
key = file.readline().strip('\n')
totalNum = totalNum + 1
if not key:
break
falg = searchCopyFile(src_dir_path, to_dir_path, key)
if falg == True:
print("succeed " + key)
succeedNum = succeedNum + 1
else:
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))