首页 > 解决方案 > 如何仅将特定文件从旧文件夹复制到新文件夹?

问题描述

我正在尝试使用 python 仅将某些文件从旧文件夹移动到新文件夹,但我在尝试弄清楚其工作流程和逻辑时遇到了麻烦。

我有以下现有的旧层次结构:

Folder
    >Red
        >Big
            >Easy
                >File_Big_Red_x_0.csv    
                >File_Big_Red_x_1.csv
                >File_Big_Red_x_2.csv
                >File_Big_Red_x_3.csv
                >File_Big_Red_x_4.csv                
            >Medium
                >File_Big_Red_x_0.csv    
                >File_Big_Red_x_1.csv
                >File_Big_Red_x_2.csv
                >File_Big_Red_x_3.csv
                >File_Big_Red_x_4.csv   
            >Difficult
                >File_Big_Red_x_0.csv    
                >File_Big_Red_x_1.csv
                >File_Big_Red_x_2.csv
                >File_Big_Red_x_3.csv
                >File_Big_Red_x_4.csv   
        >Small
            >Easy
                >File_Small_Red_x_0.csv    
                >File_Small_Red_x_1.csv
                >File_Small_Red_x_2.csv
                >File_Small_Red_x_3.csv
                >File_Small_Red_x_4.csv   
            >Medium
                >File_Small_Red_x_0.csv    
                >File_Small_Red_x_1.csv
                >File_Small_Red_x_2.csv
                >File_Small_Red_x_3.csv
                >File_Small_Red_x_4.csv   
            >Difficult
                >File_Small_Red_x_0.csv    
                >File_Small_Red_x_1.csv
                >File_Small_Red_x_2.csv
                >File_Small_Red_x_3.csv
                >File_Small_Red_x_4.csv   
    >Blue
        >Big
            >Easy
                >File_Big_Blue_x_0.csv    
                >File_Big_Blue_x_1.csv
                >File_Big_Blue_x_2.csv
                >File_Big_Blue_x_3.csv
                >File_Big_Blue_x_4.csv                
            >Medium
                >File_Big_Blue_x_0.csv    
                >File_Big_Blue_x_1.csv
                >File_Big_Blue_x_2.csv
                >File_Big_Blue_x_3.csv
                >File_Big_Blue_x_4.csv  
            >Difficult
                >File_Big_Blue_x_0.csv    
                >File_Big_Blue_x_1.csv
                >File_Big_Blue_x_2.csv
                >File_Big_Blue_x_3.csv
                >File_Big_Blue_x_4.csv  
        >Small
            >Easy
                >File_Small_Blue_x_0.csv    
                >File_Small_Blue_x_1.csv
                >File_Small_Blue_x_2.csv
                >File_Small_Blue_x_3.csv
                >File_Small_Blue_x_4.csv   
            >Medium
                >File_Small_Blue_x_0.csv    
                >File_Small_Blue_x_1.csv
                >File_Small_Blue_x_2.csv
                >File_Small_Blue_x_3.csv
                >File_Small_Blue_x_4.csv  
            >Difficult
                >File_Small_Blue_x_0.csv    
                >File_Small_Blue_x_1.csv
                >File_Small_Blue_x_2.csv
                >File_Small_Blue_x_3.csv
                >File_Small_Blue_x_4.csv   
    >Green
        >Big
            >Easy
                >File_Big_Green_x_0.csv    
                >File_Big_Green_x_1.csv
                >File_Big_Green_x_2.csv
                >File_Big_Green_x_3.csv
                >File_Big_Green_x_4.csv                
            >Medium
                >File_Big_Green_x_0.csv    
                >File_Big_Green_x_1.csv
                >File_Big_Green_x_2.csv
                >File_Big_Green_x_3.csv
                >File_Big_Green_x_4.csv
            >Difficult
                >File_Big_Green_x_0.csv    
                >File_Big_Green_x_1.csv
                >File_Big_Green_x_2.csv
                >File_Big_Green_x_3.csv
                >File_Big_Green_x_4.csv
        >Small
            >Easy
                >File_Small_Green_x_0.csv    
                >File_Small_Green_x_1.csv
                >File_Small_Green_x_2.csv
                >File_Small_Green_x_3.csv
                >File_Small_Green_x_4.csv   
            >Medium
                >File_Small_Green_x_0.csv    
                >File_Small_Green_x_1.csv
                >File_Small_Green_x_2.csv
                >File_Small_Green_x_3.csv
                >File_Small_Green_x_4.csv 
            >Difficult
                >File_Small_Green_x_0.csv    
                >File_Small_Green_x_1.csv
                >File_Small_Green_x_2.csv
                >File_Small_Green_x_3.csv
                >File_Small_Green_x_4.csv   

我只对文件名中包含“x_2”和“x_4”的文件感兴趣。所以我想将它们传输到以下新创建的文件夹层次结构中:

Folder
    >Red
        >Big
            >Easy
                >File_Big_Red_x_2.csv
                >File_Big_Red_x_4.csv                
            >Medium
                >File_Big_Red_x_2.csv
                >File_Big_Red_x_4.csv   
            >Difficult
                >File_Big_Red_x_2.csv
                >File_Big_Red_x_4.csv   
        >Small
            >Easy
                >File_Small_Red_x_2.csv
                >File_Small_Red_x_4.csv   
            >Medium
                >File_Small_Red_x_2.csv
                >File_Small_Red_x_4.csv   
            >Difficult
                >File_Small_Red_x_2.csv
                >File_Small_Red_x_4.csv   
    >Blue
        >Big
            >Easy
                >File_Big_Blue_x_2.csv
                >File_Big_Blue_x_4.csv                
            >Medium
                >File_Big_Blue_x_2.csv
                >File_Big_Blue_x_4.csv  
            >Difficult
                >File_Big_Blue_x_2.csv
                >File_Big_Blue_x_4.csv  
        >Small
            >Easy
                >File_Small_Blue_x_2.csv
                >File_Small_Blue_x_4.csv   
            >Medium
                >File_Small_Blue_x_2.csv
                >File_Small_Blue_x_4.csv  
            >Difficult
                >File_Small_Blue_x_2.csv
                >File_Small_Blue_x_4.csv   
    >Green
        >Big
            >Easy
                >File_Big_Green_x_2.csv
                >File_Big_Green_x_4.csv                
            >Medium
                >File_Big_Green_x_2.csv
                >File_Big_Green_x_4.csv
            >Difficult
                >File_Big_Green_x_2.csv
                >File_Big_Green_x_4.csv
        >Small
            >Easy
                >File_Small_Green_x_2.csv
                >File_Small_Green_x_4.csv   
            >Medium
                >File_Small_Green_x_2.csv
                >File_Small_Green_x_4.csv 
            >Difficult
                >File_Small_Green_x_2.csv
                >File_Small_Green_x_4.csv  

我不确定如何管理所有这些目录嵌套,以及如何创建新的目录系统,并且只选择所需的文件。这怎么能用python完成?

标签: pythonfiledirectory

解决方案


推荐阅读