簡體   English   中英

Python 創建文件夾樹

[英]Python create folder tree

對不起,這個簡單的問題,但我不知道如何解決我的簡單問題。 我想創建一個文件夾樹。 我正在選擇主文件夾並創建第一級子文件夾。 但是我不知道如何創建嵌套在一些第一級中的第二級文件夾。

示例: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")

您可以定義第二個列表( 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")

出去:

/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

謝謝大家! 我只是汲取靈感來完成練習。 我想不是那么好,但仍然有效。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM