我有这个函数给我写一个文件:from tkinter import *import osimport tkinter as tk def var_states(): text_file = open("logfile.txt", "a") text_file.write("USER: %s, Variable1: %d\n" % (os.getlogin(),var1.get())) text_file.close()var1 = IntVar()tk.Checkbutton(right_frame, text="sample text", variable=var1).grid(column = 1, row = 1, sticky = W)如果我打开 .txt 文件,输出为: USER: WindowsUser, sample text我这里也有这个功能:def func(value): p = Path(value) print(p)通过单击按钮获取值:popupMenu = tk.OptionMenu(left_frame, tkvar, *choices,command = func)这只是 tkinter 中的一个下拉菜单,它向我显示了一个目录列表。我的问题是,如何获得func()用于var_states将值写入文件的方法?这是我尝试过的:def var_states(): text_file = open("logfile.txt", "a") text_file.write("USER: %s, Variable1: %d, Func_return: %s \n" % (os.getlogin(), var1.get(), func.get())) text_file.close()
2 回答
慕斯709654
TA贡献1840条经验 获得超5个赞
您必须进行一些小的更改,如下所示:
第一的
p = None
def func(value):
global p
p = Path(value)
print('req:', p)
第二
def var_states():
text_file = open("logfile.txt", "a")
# code changed here
text_file.write("USER: %s, Variable1: %d, Func_return: %s \n" % (os.getlogin(), var1.get(), p))
text_file.close()
我运行了你的程序,在这样做之后它工作正常。
慕森卡
TA贡献1806条经验 获得超8个赞
您用于存储路径的变量是p
,如果您想在var_states
函数中使用它,您应该更改该行:
text_file.write("USER: %s, Variable1: %d, Func_return: %s \n" % (os.getlogin(), var1.get(), func.get()))
至
text_file.write("USER: %s, Variable1: %d, Func_return: %s \n" % (os.getlogin(), var1.get(), p))
在使用之前检查您是否正在调用该函数p
,否则您将遇到NameError
异常。
添加回答
举报
0/150
提交
取消