在 22.04 中,notify-send 向我的自定义 Python 文件发出语法错误

在 22.04 中,notify-send 向我的自定义 Python 文件发出语法错误

当我运行一个带有代码的简单 .py 文件时

notify-send " ha ha "

我在 22.04 中收到通知,没有任何问题。

然后我在另一个 .py 文件中尝试了以下代码。结果出现了语法错误。

x = 1
count = x

while count <= 8:

    notify-send "Let's Take a Break!"
  
    
      
    sleep 60   

    count += 1 

    if count <= 8:        
        notify-send "Ok folks," "Let's get back to work!" 
    
        sleep 3600
else:
    notify-send "Ok folks," "Let's call it a day!" 

请帮我找出问题所在。谢谢。

答案1

为了能够像notify-send在 Python 脚本中一样执行系统命令,您需要先导入模块os,然后使用它来执行该系统命令,如下所示:

import os

os.system('notify-send "Let\'s Take a Break!"')

话虽如此,你可能需要注意其他语法问题,例如sleep 60可能有效的调用bash,但 python 需要time.sleep(60),并且你可能需要先导入time模块才能使其工作。另一件事是if...的缩进else,你也需要注意这一点。

因此,您问题中的示例代码应该是:

import os
import time

x = 1
count = x

while count <= 8:
    os.system('notify-send "Let\'s Take a Break!"')
    time.sleep(60)
    count += 1

    if count <= 8:
        os.system('notify-send "Ok folks," "Let\'s get back to work!"')
        time.sleep(3600)
    else:
        os.system('notify-send "Ok folks," "Let\'s call it a day!"')

正确运行你的python脚本python而不是其他解释器也非常重要,例如bash据我所知(它很可能是由你的 shell 运行的,bash而不是由python解释器运行的):

当我运行一个带有代码的简单 .py 文件时

notify-send " ha ha "

我在 22.04 中收到通知,没有任何问题。

相关内容