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

我有这个函数给我写一个文件:


from tkinter import *

import os

import 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()


蝴蝶刀刀
浏览 113回答 2
2回答

慕斯709654

您必须进行一些小的更改,如下所示:第一的p = Nonedef 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()我运行了你的程序,在这样做之后它工作正常。

慕森卡

您用于存储路径的变量是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异常。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python