我正在Linux下编写一个小型Python脚本,弹出一些libnotify
弹出窗口,目前使用以下语法:
import os
os.execv('/usr/bin/notify-send', ['App Title', 'Message'])
不幸的是,由于一些奇怪的原因,它会立即将解释器杀死到命令提示符
它不会对脚本执行的任何其他命令执行此操作,只需notify-send
。
没有给出错误,没有抛出已知的异常,没有任何错误的迹象,它只是在命令提示符下消失。
有没有人有同样容易做的建议或替代方案?
答案 0 :(得分:5)
你应该使用subprocess.call
在新进程中启动由其参数命名的程序,并等待子进程退出而不是os.execv
,它用程序替换当前进程中运行的进程由其参数指定。
用法为subprocess.call(['/usr/bin/notify-send', 'App Title', 'Message'])