如何使用Python将子文件夹和文件复制到新文件夹

R M

遍历python(和python!)中的文件夹结构是非常新的。我在此站点上找到的所有答案似乎都难以解决我的情况。希望有人能提供帮助。

我有一个名为下载的文件夹。(第一级)此文件夹存储在“ C:\ Users \ myusername \ Desktop \ downloads”中

在此文件夹中,我具有以下子文件夹。(第二级)文件夹路径示例:C:\ Users \ myusername \ Desktop \ downloads \ 2020-03-13

2020-03-13

2020-03-13

2020-03-15 ...等

在每个第二级文件夹中,我都有带有pdf文件的另一级文件夹。因此,如果我采用2020-03-13,则文件夹下面有一些文件夹:-3级

22105853

22108288

22182889

第三级别的示例路径:C:\ Users \ myusername \ Desktop \ downloads \ 2020-03-13 \ 22105853

我要做的就是在“下载”(第一个)级别上创建一个新文件夹,并将所有第三个级别的文件夹复制到其中。基本上消除了二级结构。

所需的结果。C:\ Users \ myusername \ Desktop \ r3 \ downloads \ NEWFOLDER \ 22105853 C:\ Users \ myusername \ Desktop \ r3 \ downloads \ NEWFOLDER \ 22108288 C:\ Users \ myusername \ Desktop \ r3 \ downloads \ NEWFOLDER \ 22182889

我从下面的代码开始,设法在一个名为Downloads的新文件中重新创建文件结构:但是现在停滞不前,希望有人能为我提供帮助。

save_dir='C:\\Users\\myusername\\Desktop\\downloads\\'
localpath = os.path.join(save_dir, 'Repository')
if not os.path.exists(localpath):
    try:
        os.mkdir(localpath, mode=777)
        print('MAKE_DIR: ' + localpath)
    except OSError:
        print("directory error occurred")

for root, dirs, files in os.walk(save_dir):
    for dir in dirs:
        path = os.path.join(localpath, dir)
        if '-' not in path and  not os.path.exists(path): 
        #(Checking for '-' to not create folders at sceond level)
            os.mkdir(path, mode=777)
            print(path)
        
    
斯达尔

此代码段应该工作:

import os
from distutils.dir_util import copy_tree

root_dir = 'path/to/your/rootdir'
try:
    os.mkdir('path/to/your/rootdir/dirname')
except:
    pass
for folder_name in os.listdir(root_dir):
    path = root_dir + folder_name
    for folder_name in os.listdir(path):
        copy_tree(path + folder_name, 'path/to/your/rootdir/dirname')

只需将目录名称替换为所需的名称

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Ubuntu将文件夹内的文件复制到新文件夹

使用R将文件夹中的所有PDF和所有子文件夹复制到新文件夹

如何使用批处理文件将特定子文件夹(如果存在)复制到备份文件夹中的新文件夹?

将子文件夹中的所有文件复制到新文件夹中

如何将文件从列表复制到新文件夹?

Python-将列表中的特定文件复制到新文件夹中

Unix Shell脚本-将文件从父文件夹和子文件夹单独复制到新文件夹中

如何将文件夹复制到以sysdate重命名的新文件夹?

如何使用xcopy将子文件夹复制到子文件夹中?

使用webpack打包,如何将已经存在的文件复制到新文件夹?

将文件从多个文件夹复制到新文件夹-文件具有相同的名称

如何使用PowerShell仅将新文件从一个文件夹复制到另一个文件夹

使用python仅将更新/新文件从一个文件夹复制到另一个文件夹

bash shell 脚本:将文件夹内文件夹的特定内容从每个文件夹复制到桌面上的新文件夹

将顺序文件从多个文件夹复制到新文件夹中

Robocopy仅将更改的文件复制到新文件夹

将使用grep生成的文件复制到新文件夹中

根据今天的日期创建一个文件夹,然后使用批处理文件将文件复制到新文件夹中

如何编写bash脚本以根据名称将文件复制到新文件夹中?

如何将文件夹中的每个第4个文件复制到新文件夹中?

比较两个文件夹,并使用bash根据序列号将丢失的文件复制到新文件夹

如何使用VBA将包含文件的文件夹复制到FTP文件夹?

使用Python将子文件夹中的图像复制到另一个文件夹

将文本文件中列出的几个文件复制到新文件夹中

如何使用bash将子文件夹中的所有文件移动到新文件夹中?

Windows批处理文件可将最新文件复制到新文件夹

将带有通配符的文件列表复制到新文件夹中

按日期对文件进行排序,然后互相复制到新文件夹

将文件复制到文件夹和所有子文件夹中