[英]Python create folder tree
sorry for the simple question, but i dont know how to solve my easy problem.对不起,这个简单的问题,但我不知道如何解决我的简单问题。 I would like to create a folder tree.
我想创建一个文件夹树。 I am selecting the main folder and create the first level of subfolder.
我正在选择主文件夹并创建第一级子文件夹。 But I dont know how to create the second level of folders nested in some of the first level.
但是我不知道如何创建嵌套在一些第一级中的第二级文件夹。
Example: MAIN FOLDER (SELECTED) contain the folders A,B and C the folder A should contain the folder A1 the folder C should contain the folder C1示例:MAIN FOLDER (SELECTED) 包含文件夹 A、B 和 C 文件夹 A 应包含文件夹 A1 文件夹 C 应包含文件夹 C1
import pathlib
from tkinter import Tk
from tkinter.filedialog import askdirectory
folder = ["A", "B", "C"]
root = Tk()
root.withdraw()
root.update()
c_path = askdirectory(title='Select Main Folder')
path = c_path + "/"
root.destroy()
for i in folder:
pathlib.Path(path + i).mkdir(parents=True, exist_ok=True)
print("done")
You could define a second list ( subfolders
) providing your sub directory names:您可以定义第二个列表(
subfolders
)提供您的子目录名称:
import pathlib
from tkinter import Tk
from tkinter.filedialog import askdirectory
folder = ["A", "B", "C"]
subfolders = ["1", "2", "3"]
root = Tk()
root.withdraw()
root.update()
c_path = askdirectory(title='Select Main Folder')
path = c_path + "/"
root.destroy()
for f in folder:
for s in subfolders:
subDir = f+s
pth = pathlib.Path(path) / f / subDir
pth.mkdir(parents=True, exist_ok=True)
print(pth, pth.exists())
print("done")
Out:出去:
/private/tmp/nestedPath/A/A1 True
/private/tmp/nestedPath/A/A2 True
/private/tmp/nestedPath/A/A3 True
/private/tmp/nestedPath/B/B1 True
/private/tmp/nestedPath/B/B2 True
/private/tmp/nestedPath/B/B3 True
/private/tmp/nestedPath/C/C1 True
/private/tmp/nestedPath/C/C2 True
/private/tmp/nestedPath/C/C3 True
done
thanks to all!谢谢大家! I just take the inspiration to finalize the excercise.
我只是汲取灵感来完成练习。 I guess is not so nice but still work.
我想不是那么好,但仍然有效。
import pathlib
import os
from tkinter import Tk
from tkinter.filedialog import askdirectory
folder = ["A", "B", "C", "D", "E", "F"]
subfolder_A = ["/a1"]
subfolder_B = ["/b1", "/b2", "/b3"]
subfolder_F = ["/f1", "/f2"]
root = Tk()
root.update()
c_path = askdirectory(title='Select Main Folder') # shows dialog box and return the path
path = c_path + "/"
root.destroy()
for i in folder:
pathlib.Path(path + i).mkdir(parents=True, exist_ok=True)
for f in subfolder_A:
pathlib.Path(path + folder[0] + f).mkdir(parents=True, exist_ok=True)
for g in subfolder_B:
pathlib.Path(path + folder[3] + g).mkdir(parents=True, exist_ok=True)
for h in subfolder_F:
pathlib.Path(path + folder[5] + h).mkdir(parents=True, exist_ok=True)
os.startfile(path)
print("folder tree created")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.