Python - 创建嵌套文件夹数

2024-05-14 19:03:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在python中创建一些嵌套文件夹。在

目标: 1) 向用户请求一个数字(假设为3) 2) 创建3个文件夹。 3) 在每个文件夹内,应该有3个文件夹。 这个嵌套应该做3次。在

示例:

Folder1 

Folder1 Folder2 Folder3

Folder1 Folder2 Folder3

Folder1 Folder2 Folder3

^{pr2}$

Folder1 Folder2 Folder3

Folder1 Folder2 Folder3

Folder1 Folder2 Folder3

^{3}$

Folder1 Folder2 Folder3

Folder1 Folder2 Folder3

Folder1 Folder2 Folder3

这是我当前的代码:

import os
i = 0
num = 0
while i<17:
    num+=1
    name="Python"+ str(num)
    i+=1

这只是为了创建第一组文件夹(我已经采取了17)。 我们将不胜感激。在

(我正在运行Windows)

编辑:

更清晰的例子:http://s9.postimg.org/sehux992n/20141228_201038.jpg

(以3作为用户输入)

从图像中,我们可以看到有3层。在


Tags: 代码用户nameimport文件夹示例目标os
2条回答

部分代码,请随意填写:

def recursive_make_folders(path, width, depth):
    for i in range(1, width + 1):
        folder_name = make_folder_name(i)
        make_folder(path + folder_name)
        if depth > 1:
            recursive_make_folders(path + folder_name, width, depth - 1)

请记住,这将创建width ** depth文件夹,这可能是一个非常大的数字,特别是当depth增加时。在

编辑:

  • 在我显示path + folder_name的地方,您需要实际使用os.path.join(path, folder_name)
  • make_folder应该变成{}
  • 如果希望代码在当前目录中运行,可以使用"."作为初始路径

文件夹中不能有同名的子目录。如果要添加具有不同名称的input*input目录:

import os

inp = int(raw_input())

folders = [("Folder{}".format(i)) for i in xrange(1,inp+1)]
for dr in xrange(1,inp+1):
    os.makedirs("Folder{}".format(dr))
for fold in folders:
    os.chdir(fold)
    for i in xrange(1, inp*inp+1):
        os.makedirs("Folder{}".format(i))
    os.chdir("..")

也许这更接近你想要的:

^{pr2}$

相关问题 更多 >

    热门问题