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.Multilineget的方法来获取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文件中?

如何将TXT文件保存为HTML

将 .txt 文件读取到地图中,然后将其再次保存为 .txt?

将 Python 结果保存为 .txt 文件

将源代码保存为为客户端呈现的 .txt 文件

需要将表格视图的内容保存为 txt 文件并稍后重新加载