如何在每__秒__次打印此消息的地方实现此功能?

时间:2019-06-20 14:17:52

标签: python schedule

我想每__秒调用一次printFunction方法,但是我想在一定数量的调用后停止调度。例如,每5秒打印10次。从另一个文件中提取那些频率和运行时间值。

在PyCharm中运行。

导入时间表 导入时间

课程示例:

# basic function to print
def printFunction(self):
    print("Hello world")

def repeated(self):
    # reads in two values from another file
    systemFrequency = float(freqSettings.systemFrequency)
    systemRunTime = int(freqSettings.systemRunTime)
    global count 
    count = 0

    while (count < systemRunTime): 
        self.printFunction
        self.increaseCount


 def increaseCount(self):
    global count
    count += 1

1 个答案:

答案 0 :(得分:0)

由调度程序运行的函数需要返回CancelJob才能停止调度。

这是我的实现方式:

import schedule

def my_function():
    print("hello world")

def wrapper():
    wrapper.counter +=1
    my_function()
    if wrapper.counter == 10:
        return schedule.CancelJob
wrapper.counter = 0

schedule.every(1).seconds.do(wrapper)

while True:
    schedule.run_pending()
    print(schedule)

它显示10个“ hello world”