我正在尝试创建一个脚本来创建一个文本文件,并且该文本文件的名称与用户输入的内容相对应。这是我的代码:
from tkinter import*
fenetre = Tk()
def creation():
open(f1 + '.txt', "w")
Label1 = Label(fenetre, text = 'Nom de votre classe :')
Label1.pack(side = LEFT, padx = 5, pady = 5)
f1 = StringVar()
Champ = Entry(fenetre, textvariable= f1, bg ='bisque', fg='maroon')
Champ.focus_set()
Champ.pack(side = LEFT, padx = 5, pady = 5)
Bouton = Button(fenetre, text ='Valider', command = creation())
Bouton.pack(side = LEFT, padx = 5, pady = 5)
fenetre.mainloop()
但它不起作用并给出以下错误:
TypeError: unsupported operand type(s)s for +: 'StringVar' and 'str'
我成功创建了一次文件,但它没有名称。
最佳答案
当你想使用该值时,需要调用f1.get()
。 f1
本身不是一个字符串,而是一个可以容纳字符串的对象。调用它的 get()
方法会返回它所保存的实际字符串。
def creation():
open(f1.get() + '.txt', "w")
关于python - 类型错误 : unsupported operand type(s)s for +: 'StringVar' and 'str' //Create a text file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36120631/