python抽取文件

功能描述:将源文件夹下文件名中,指定关键字的文件批量复制到另一文件夹中。

配置文件: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))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OOQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值