将一个目录下名称满足一定条件的目录,全部复制到另一个目录下,并对文件名进行修改

需求说明:将tmahunter/bin/data目录下IP文件夹整个转移到tmahunter/data下,并将IP目录下的文件名aaaaaaa-v1.1.2_11.11.11.11_20200527093436.txt,修改为11.11.11.11_20200527093436.txt

将一个目录下名称满足一定条件的目录,全部复制到另一个目录下,并对文件名进行修改_第1张图片

实现思路:

主要了解shutil中的copytree,另外os.rename(old,new)为修改文件名称。

 

import os
from shutil import copytree

def pyra_file_result(s_path,d_path):
    for root,dirs,files in os.walk(s_path):
        for dir in dirs:
            if '.' in dir:
                des_path = os.path.join(d_path,dir)
                src_path = os.path.join(s_path,dir)
                #将src_path目录下的文件复制到des_path
                copytree(src_path,des_path)
                for file in os.listdir(des_path):
                    if 'txt' in file:
                        new_name = file[15:]
                        #将des_path下文件重命名为‘10.10.11.6+时间.txt’
                        os.chdir(des_path)
                        os.rename(file, new_name)

s_path = os.path.abspath('./tmahunter/bin/data')
d_path = os.path.abspath('./tmahunter/data')
pyra_file_result(s_path,d_path)

 

 

 

你可能感兴趣的:(Python)