如何从 tkinter Entry 小部件输入创建和命名新文件夹?

How to create and name a new folder from tkinter Entry widget input?

我想要输入,有人在我的 Tkinter GUI 的条目小部件 (E1) 中输入了新文件夹的名称,因为每次有人输入内容时,我都需要有一个新文件夹命名为输入:

def create():
    folder = E1.get()
    newpath = r"C:\Users\....\folder" 
    if not os.path.exists(newpath):
        os.makedirs(newpath) 

这将创建一个新文件夹,但它被命名为 folder 而不是我想要的名称(在 Entry 框中输入数字后 (E1))。

成功:

newpath = r"C:\Users\...\E1.get()" 

给我一个名为 "E1.get()"

的文件夹

其次,但希望这能回答第一个问题,即如何在不将 E1.get() 放入变量的情况下查看输入? 那么有没有一种方法可以直接查看它并可能将其用作我的新文件夹的名称?

有几种方法可以做到这一点:

  • 字符串格式旧样式:

    newpath = r"C:\Users\Heinrich\Documents\Python\hope\%s" % E1.get()
    
  • 字符串格式新样式:

    newpath = r"C:\Users\Heinrich\Documents\Python\hope\{}".format(E1.get())
    
  • 原始 f(ormat)-字符串(仅限 Python 3.6):

    newpath = fr"C:\Users\Heinrich\Documents\Python\hope\{E1.get()}"
    
  • 如@eyllanesc 所述使用os.path.join

    from os.path import join
    newpath = join(r"C:\Users\Heinrich\Documents\Python\hope", '1234'))