tkinter和python3.x按钮配置
我正在尝试将字符串写入文本。代码如下:tkinter和python3.x按钮配置,python,tkinter,config,Python,Tkinter,Config,我正在尝试将字符串写入文本。代码如下: def retrieve_input(): inputValue = textBox.get("1.0", "end-1c") c = inputValue def open(): f = open("writetest.txt", "a") def write_input(): f.write(c) filemenu.add_command(label="Write t
def retrieve_input():
inputValue = textBox.get("1.0", "end-1c")
c = inputValue
def open():
f = open("writetest.txt", "a")
def write_input():
f.write(c)
filemenu.add_command(label="Write to txt", command=lambda:retrieve_input())
我尝试了很多方法,但都没有成功,整个代码很长,也不漂亮,我试图学习有关写入和加载的命令。我不确定您的缩进是否与您的帖子中的缩进相同,但这里有一个更简洁的方法:
def retrieve_input():
inputValue = textBox.get("1.0", "end-1c")
c = inputValue
with open("writetest.txt", "a") as f:
f.write(c)
我去掉了所有没有真正理由使用的函数。此外,我选择使用带有指令的来处理文件
此外,您的功能可能要短得多:
def write_input():
with open("writetest.txt", 'a') as f:
f.write(textBox.get("1.0", "end-1c"))
请注意,您正在打开该文件,但之后没有关闭它。这可能导致内存泄漏。将块与
块一起使用可以防止发生此类情况,因为它会自动关闭文件。另外,在您的代码中,textBox
未定义,因此您需要将其作为参数传递,或者将其声明为global
(避免后者)。什么是“不成功”的意思?是否写入了错误的数据?没有写入数据吗?函数是否没有被调用?程序崩溃了吗?您是否检查了open
方法内部的c
值,以验证它是否是您认为应该的值?这是retrieve\u input
功能的全部代码吗?您定义了open
,但没有调用它。