功能描述:将源文件夹下文件名中,指定关键字的文件批量复制到另一文件夹中。
配置文件: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))