下面的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
如果可能的话,句子最好放在文件的开头。