TypeError: unsupported operand type(s)s for +: 'StringVar' and 'str' // Create a text file
TypeError: unsupported operand type(s)s for +: 'StringVar' and 'str' // Create a text file
我正在尝试创建一个脚本来创建一个文本文件,该文本文件的名称与用户输入的名称相对应。这是我的代码:
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()
方法 returns 它持有的实际字符串。
def creation():
open(f1.get() + '.txt', "w")
我正在尝试创建一个脚本来创建一个文本文件,该文本文件的名称与用户输入的名称相对应。这是我的代码:
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()
方法 returns 它持有的实际字符串。
def creation():
open(f1.get() + '.txt', "w")