如何通过 PY 文件运行 Bash 命令?

如何通过 PY 文件运行 Bash 命令?

下面的Python脚本是从脚本中提取出来的,/usr/lib/python2.7/dist-packages/Mailnag/plugins/libnotifyplugin.py
在脚本中,命令('zenity --info --text="You got new mail"')并没有运行。我如何让它运行?我希望它mail_count > 0
在下面的行if mail_count > 1:正常运行时运行。

if mail_count > 0:
    import os
    os.system('zenity --info --text="You got new mail"')   

if mail_count > 1:
    summary = _("{0} new mails").format(str(mail_count))
    if (mail_count - i) > 1:
        body = _("from {0} and others.").format(senders)
    else:
        body = _("from {0}.").format(senders)
else:
    summary = _("New mail")
    body = _("from {0}.").format(senders)

我将以下“Testing.py”脚本放入/usr/lib/python2.7/dist-packages/Mailnag/plugins/Testing.py并运行它,这确实显示了“您收到新邮件”消息。

#!/usr/bin/env python2
import os
os.system('zenity --info --text="You got new mail"')

答案1

因为您不需要捕获 sys 命令的输出,os.system所以就可以了。
由于您发布的代码似乎没问题,请尝试猜测zenity您运行的命令是否在运行 python 脚本的路径中可用。

只是为了检查您的输出是否有效,您可以:

if mail_count > 0:
    import os
    result = os.system('echo "more than 0" > testfile')
    if result == 0:
        print("a testfile was created")

如果该命令生成测试文件,您就知道您的问题已解决zenity

笔记
它是一个好的做法import如果可能的话,句子最好放在文件的开头。

相关内容