PySimpleGui 将多行保存为 .txt
Posted
技术标签:
【中文标题】PySimpleGui 将多行保存为 .txt【英文标题】:PySimpleGui save Multiline as .txt 【发布时间】:2021-11-01 03:30:56 【问题描述】:我想将 Multiline (PySimpleGui) 保存为 .txt。
[sg.Multiline(
enter_submits=True,
key='_LOG_'
))]
程序写入其中
window['_LOG_'].print('something')
完成后,它应该会自动将其保存为 .txt。
【问题讨论】:
【参考方案1】:您可以为此使用您的 key。喜欢:
import io
with io.open("data.txt", "w", encoding="utf8") as f:
f.write(values['_LOG_'])
f.close()
【讨论】:
是的,已经尝试过了,但它不起作用:/ =(。您的循环是否读取值?例如:窗口、事件、值 = sg.read_all_windows() 只有在sg,Multiline
元素的内容在事件生成后没有改变的情况下才有效。使用with
语句打开文件会自动关闭文件,因此不需要f.close()
。
感谢您的建议!【参考方案2】:
在您的事件循环中,values
是您对该事件的操作之前的某些元素的内容,因此您不能使用 values['_LOG_']
的值来保存您的日志文件。
尝试使用sg.Multiline
的get
的方法来获取sg.Multiline
元素的当前内容。
window['_LOG_'].print("Hello World")
with open("LogFile.txt", "wt", encoding='UTF-8') as f:
f.write(window['_LOG_'].get())
【讨论】:
为我工作。谢谢!以上是关于PySimpleGui 将多行保存为 .txt的主要内容,如果未能解决你的问题,请参考以下文章
python pysimplegui 文本框输入内容,如何将输入的内容保存到txt文件中?