Walk trough文件夹 - 复制主文件夹名称,而不是Main中的文件和文件夹

时间:2017-09-05 22:01:48

标签: python

完美的步骤如何在src = Processing中创建所有文件夹。 但是我如何在每个刚刚创建的文件夹中创建模板中的所有数据(文件,文件夹)。因此,在刚刚创建的文件夹中执行shutil.copytree。

   src = "C:/code/CopyFolder/Processing"               # must be the processing folder
dest = "C:/code/CopyFolder/Runs"                    # must be the runs folder
template = "C:/code/CopyFolder/Template"            # source where to get Template files

print src
print dest
print template

listDirs = os.listdir(src)
print listDirs

for i in listDirs:
    os.makedirs(dest + '/' + i) # should i do shutil.copytree() here for copy all files, folders from template in every just created folder?
    print i + " " + "path is created"
    #shutil.copytree(template, dest)

2 个答案:

答案 0 :(得分:1)

os.walk()在这里是不必要的,因为你只想要第一级。

src = "C:/code/CopyFolder/Processing"           # must be the processing folder
dest = "C:/code/CopyFolder/Runs"        

listDirs = os.listdir(src)

for i in listDirs:
  os.mkdir(dest + '/' + i)

编辑:OP显着改变了问题;请注意,此答案仅为源文件夹下第一级中的每个文件夹创建一个文件夹。

答案 1 :(得分:0)

您可以列出源文件夹中的每个目录,并为目标中的每个目录建立路径。

import os
from os import path

dest = "C:/code/CopyFolder/Runs" 
src = "C:/code/CopyFolder/Processing" 

src_folders = (
    name for name in os.listdir(src) if path.isdir(
            path.join(src, name)
        )
    )

for name in src_folders:
    directory_path = path.join(dest, name)
    os.mkdir(directory_path)
相关问题