python 將指定文件夾中的指定文件放入指定文件夾中


import os
import shutil
import re
#獲取指定文件中文件名
def get_filename(filetype):
    name =[]
    final_name_list = []
    source_dir=os.getcwd()#讀取當前路徑
    for root,dirs,files in os.walk(source_dir):
        for i in files:
            if filetype in i:
                name.append(i.replace(filetype,''))
    final_name_list = [item +filetype for item in name]
    return final_name_list #返回由文件名組成的列表
#篩選文件,利用正則表達式
def select_file(str_cond,file_name_list):
    select_name_list =[]
    part1 = re.compile(str_cond)#正則表達式篩選條件
    for file_name in file_name_list:
        if len(part1.findall(file_name)):#判斷其中一個文件名是否滿足正則表達式的篩選條件
            select_name_list.append(file_name)#滿足,則加入列表
    return select_name_list#返回由滿足條件的文件名組成的列表
#復制指定文件到另一個文件夾里,並刪除原文件夾中的文件
def cope_file(select_file_name_list,old_path,new_path):
    for file_name in select_file_name_list:
        shutil.copyfile(os.path.join(old_path,file_name),os.path.join(new_path,file_name))#路徑拼接要用os.path.join,復制指定文件到另一個文件夾里
        os.remove(os.path.join(old_path,file_name))#刪除原文件夾中的指定文件文件
    return select_file_name_list
#主函數
def main_function(filetype,str_cond,old_path,new_path):
    final_name_list = get_filename(filetype)
    select_file_name_list = select_file(str_cond,final_name_list)
    cope_file(select_file_name_list,old_path,new_path)
    return select_file_name_list

file_type = '.csv'#指定文件類型
str_cond = '-Dfn_info-'#正則條件
old_path = 'F:\\data\\text_1'#原文件夾路徑
new_path = 'F:\\data\\dfn_info'#新文件夾路徑
main_function(file_type,str_cond,old_path,new_path)#主函數

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM