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

时间:2018-01-18 00:07:09

标签: python tkinter os.path

我想要输入,有人已经放入我的Tkinter GUI的Entry小部件(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()放入变量的情况下查看输入? 那么有没有办法直接看到它,并可能使用它作为我的新文件夹的名称?

1 个答案:

答案 0 :(得分:1)

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

  • 字符串格式化旧样式:

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

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

    newpath = fr"C:\Users\Heinrich\Documents\Python\hope\{E1.get()}"
    
  • 使用os.path.join作为@eyllanesc声明:

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