python - 如何仅将特定文件从旧文件夹复制到新文件夹?
问题描述
我正在尝试使用 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完成?
解决方案
推荐阅读
- hadoop - YARN Timeline Server .out 文件不旋转
- c++ - 多线程 qwebsocket ConnectingState 永远?
- javascript - 如何使用我的 React 应用绕过标签冻结?
- java - 如何使用 android studio 在 Facebook 时间轴字段上上传文本?
- adobe-launch - 如何在控制台选项卡中过滤 adobe 规则?
- php - 如何从 X509 主题公钥信息中提取 pub 部分?
- google-apps-script - 如何重置 Google Drive(文件夹、子文件夹和文件)的权限?
- javascript - React FluentUI TextField - propertychange 事件
- vue.js - 在 symfony 5 上导入 vue 打印代码而不是模板
- typo3 - TYPO3 在另一个扩展中使用来自一个 Extbase-Extension 的对象