我有一个适用于 Ubuntu 的 Python GUI 应用程序,它还可以将消息打印到终端。 GUI 的“退出”菜单如下所示:
def quit():
print('exiting')
Gtk.main_quit()
如果我在后台运行我的应用程序,并在应用程序仍在运行时退出终端,则上面的 quit
函数不会执行任何操作。但是,如果我删除打印语句,应用程序会按预期退出。
所以看起来 print 语句阻止了脚本的其余部分运行。我怎样才能避免这种情况?
最佳答案
改为使用日志记录。
导入日志记录
logging.basicConfig( filename='gui_app.log', level=logging.INFO, propogate=0 )
使用 logging.info( "Exiting")
代替打印语句,日志记录是监控应用程序的正确方式,不会中断控制流。
关于Python:关闭终端窗口后,带有 'print' 的 GUI 函数不再有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46013920/