Python 我的脚本只运行一次,如何编写代码使其始终运行?

Python 我的脚本只运行一次,如何编写代码使其始终运行?,python,notifications,widget,system-tray,Python,Notifications,Widget,System Tray,我对python和一般编程都是新手。我制作了一个小脚本,当电池电量达到100%或低于25%时会给我一个通知。对于单个实例,它运行良好。我试图让它始终运行,即它位于托盘中,并根据条件弹出通知。我试着把整个事情通过一个“while True:”循环,但这似乎没有帮助。你们能帮帮我吗 代码:- import psutil from win10toast import ToastNotifier toaster=ToastNotifier() while True: def battery():

我对python和一般编程都是新手。我制作了一个小脚本,当电池电量达到100%或低于25%时会给我一个通知。对于单个实例,它运行良好。我试图让它始终运行,即它位于托盘中,并根据条件弹出通知。我试着把整个事情通过一个“while True:”循环,但这似乎没有帮助。你们能帮帮我吗

代码:-

import psutil
from win10toast import ToastNotifier
toaster=ToastNotifier()
while True:
    def battery():
        val=psutil.sensors_battery()
        percent=val.percent
        power=val.power_plugged
        if percent<25 and power==False:
            return ('We\'re low on power({}%),plug in the charger.'.format(percent))
        elif percent>=100 and power==True:
            return ('Fully charged ({}%),you can disconnect the charger now.'.format(percent))
    try:
        toaster.show_toast('BatteryMeter',battery(),'c:/users/sanoop/desktop/Battery.ico',duration=5)
    except:
        pass```


导入psutil
从win10toast导入到ASTNotifier
烤面包机=烤面包通知程序()
尽管如此:
def电池():
val=psutil.传感器和电池()
百分比=val.percent
电源=val.电源插头

如果百分比您需要定期调用电池()。 因此,例如,考虑到代码的其余部分保持不变:

while True:
  battery()
  time.sleep(1)

您没有像以前那样调用电池功能。@stovfl已编辑。当我这样做时,它只会创建一个系统托盘图标的无休止循环,即使在不满足条件的情况下也是如此。当它被满足时,同样的无休止的通知循环。我明白这是意料之中的。您不需要将函数定义放在while循环中,只需要函数就足够了。@sanoop:请参阅@stovfl上的模拟,谢谢,我会尝试这个。