Python は非常に初めてで、非常に基本的なトレーニング コースを終了したばかりで、python3 を使用している最初のアプリケーションを詳しく調べています。ユーザー定義のディレクトリの下に標準のディレクトリ構造を作成するために itertools と os.mkdirs() を取得しようとしています。ユーザーはディレクトリ名を指定します。その変数は「asset」と呼ばれ、tk.Entry 行から入力されます。コードはパス「P:\projects_2013\」の下にユーザー ディレクトリと 6 つのサブディレクトリを生成する必要があります。エラーは、サブディレクトリは、私を困惑させている「アセット」サブディレクトリの下ではなく、PATH の直下に作成されています。構文だけだと確信していますが、木の代わりに木が見えません!! 何か案は...
コードは次のとおりです。
import tkinter as tk
import getpass
import os, sys
import itertools
path = ("P:\\Projects_2013\\")
#create new window
root = tk.Tk()
#set window title
root.title("Toolkit")
#set window size
root.geometry("600x600+200+200")
#set window icon
root.wm_iconbitmap('Cartoon_Robot_200.ico')
#add dir_creator as widget
def directory():
directory = path
if directory:
path.set(directory)
def genAsset():
asset_name = asset.get()
os.chdir(path)
dirs = [[asset_name],["subdir1", "subdir2", "subdir3", "subdir4", "subdir5", "subdir6"]]
for item in itertools.product(*dirs):
os.makedirs(os.path.join(*item))
asset = tk.StringVar()
#wrtuser = tk.StringVar()
#wrtuser_label = tk.Label(root.text=("Username =").grid(row=2, column=1)
#wrtuser_entry = tk.Entry(root, textvariable=wrtuser, width=50).grid(row=2, column=2)
asset_label = tk.Label(root, text="Create New Project:").grid(row=3)
asset_entry = tk.Entry(root, textvariable=asset, width=50).grid(row=3, column=2)
create_button = tk.Button(root, text="Create Folder", command=genAsset).grid(row=4, column=3)
dir_label = tk.Label(root, text="The project directory will be created in P:\Projects_2013\\").grid(row=4, columnspan=4)
#draw window and start application
root.mainloop()