为了账号安全,请及时绑定邮箱和手机立即绑定

如何将函数输出添加到文本文件中?

如何将函数输出添加到文本文件中?

蝴蝶刀刀 2022-06-02 16:29:10
我有这个函数给我写一个文件: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()

我运行了你的程序,在这样做之后它工作正常。


查看完整回答
反对 回复 2022-06-02
?
慕森卡

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异常。


查看完整回答
反对 回复 2022-06-02
  • 2 回答
  • 0 关注
  • 112 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信