用python如何将文件夹内部分指定文件名的文件复制到目标文件夹,大佬求教!

用python如何将文件夹内部分指定文件名的文件复制到目标文件夹,大佬求教!,第1张

import glob

import shutil

def copy_file(names,old_name,new_name):

for name in names:

filename = name.split("\\")[-1]

#filename:从路径中团搜拿截取文件名

shutil.copyfile(old_name + filename, new_name + filename)

files = glob.glob(r'漏迹D:/A/1*.txt')

#files : 搜索得到塌搭的符合条件(带有1开头的txt)的文件列表

old_path = r'D:/A/'

new_path = r'D:/B/'

copy_file(files,old_path,new_path)

这个方法不能把物备文件夹复制到文件夹里面去。

10.shutil.copytree('E:\test\good', 'E:\test\vivi')

copytree不能把文件夹复制唤蚂到已存在的文件夹里面去。

11.shutil.copytree('E:\test\good', 'E:\test\new folder')

只罩链毁能复制到新创建的文件夹里面。

有相同名字的文件,就会出错,注意修改文件名。

这是最近写的一个类似代码,你拿去改改哗亩

import shutil

import os

import logging

import sys

logger = logging.getLogger(__name__)

logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)

def cp_or_mv2(src_file, des_dir, is_copy):

print(src_file, des_dir)

if os.path.isfile(src_file):

logger.info(f'from file {src_file}')

if is_copy:

shutil.copy2(src_file, des_dir)

logger.info(f'copy to {des_dir}')

else:

des_file = os.path.join(des_dir, src_file)

shutil.move(src_file, des_file)

logger.info(f'move to {des_file}')

else:

logger.info(f'from dir {src_file}')

des_dir_level1 = os.path.join(des_dir, src_file)

shutil.copytree(src_file, des_dir_level1, dirs_exist_ok=True)

logger.info(f'to {des_dir_level1}')

if not is_copy:

shutil.rmtree(src_file)

logger.info(f'deleted {src_file}')

def process_files_in_txt(txt_file, src_dir, des_dir, is_copy=True):

os.chdir(src_dir)

with open(txt_file, 'r', encoding='utf8', errors='ignore') as f:

for line in f.readlines():

src_file = line.strip()

# logger.info(src_file)

if os.path.exists(src_file):

cp_or_mv2(src_file, des_dir, is_copy)

else:

logger.warning(f'{src_file} missing!')

if __name__ == '__main__'喊缓:

process_files_in_txt(r"D:\D\需要拷贝.txt", # 哪些文件(夹)

r"D:\D\Desktop", # 从哪个文件夹

r"D:\D\新乱渗森建文件夹", # 到哪个文件夹

is_copy=False) # True复制,False剪切


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/tougao/8174839.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存