1

我正在 Linux 下编写一个小 Python 脚本,它会弹出许多libnotify弹出窗口,目前使用以下语法:

import os
os.execv('/usr/bin/notify-send', ['App Title', 'Message'])

不幸的是,出于某种奇怪的原因,它直接将解释器杀死到命令提示符处。
它不会对脚本执行的任何其他命令执行此操作,只是notify-send.

没有给出错误,没有抛出已知的异常,没有任何错误的迹象,它只是在命令提示符下消失。

有没有人有同样容易做到的建议或替代方案?

4

1 回答 1

5

您应该使用subprocess.callwhich 在新进程中启动由其参数命名的程序并等待子进程退出,而不是os.execv用其参数指定的程序替换当前进程中正在运行的程序。

用法是subprocess.call(['/usr/bin/notify-send', 'App Title', 'Message'])

于 2012-11-22T05:57:20.870 回答