【问题标题】:PySimpleGui save Multiline as .txtPySimpleGui 将多行保存为 .txt
【发布时间】:2021-11-01 03:30:56
【问题描述】:

我想将 Multiline (PySimpleGui) 保存为 .txt。

[sg.Multiline(
              enter_submits=True,
               key='_LOG_'
))]

程序写入其中

window['_LOG_'].print('something')

完成后,它应该会自动将其保存为 .txt。

【问题讨论】:

    标签: python save multiline pysimplegui write


    【解决方案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())
    

    【讨论】:

    • 为我工作。谢谢!
    猜你喜欢
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    相关资源
    最近更新 更多