Python:关闭终端窗口后,带有 'print' 的 GUI 函数不再有效

标签 python linux ubuntu gtk

我有一个适用于 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/

相关文章:

java - 我的 Java 版本是 5 吗?

ubuntu - 安装在 USB 驱动器上的 ubuntu 上的 CUDA/OpenCL

python - 任务之间保存的 dask-worker 内存

linux - 将syslog文件复制到linux中的新目录

python - Tensorflow : tf. argmax 和切片

linux - 在 For 循环中使用变量名称 (Bash)

c - 如何测量一小段 C/汇编代码的速度?

python - 错误在 `python' : free(): invalid pointer: 0x00007fc3c90dc98e

python - 计算测地网格三角点的经纬度点(最好用python)

python - 将两个大小相等的列表相乘并对结果求和(点积)