【问题标题】:Python Start function at a given time: Using time.sleep()Python 在给定时间启动函数:使用 time.sleep()
【发布时间】:2018-10-15 17:24:24
【问题描述】:

我正在使用

a = datetime.now()
b = datetime(2018,4,26,00,7,00)
time.sleep((b-a).total_seconds())

在给定时间启动我的脚本,但我想更改它。我不想使用datetime(),而是想使用模块time,因为年月日对我来说无关紧要。我还想通过input("Start time? ") 询问开始时间。我希望你能帮助我,或者你有其他选择。

【问题讨论】:

    标签: python python-3.x datetime time scheduled-tasks


    【解决方案1】:

    你可以使用sched模块:

    import sched, time
    
    def my_scheduler(delay, func):
        s = sched.scheduler(time.time, time.sleep)
        s.enter(delay, 1, func)
        s.run()
    

    演示:

    In [78]: def print_time(a='default'):
    ...          print("From print_time", time.time(), a)
    
    In [77]: while True:
        ...:     try:
        ...:         delay = int(input("Enter the delay seconds:  "))
        ...:     except ValueError:
        ...:         print("Invalid input. Pleaes enter only digits!")
        ...:     else:
        ...:         my_scheduler(delay, print_time)
        ...:         break
        ...:     
    Enter the delay seconds:  5
    # after 5 seconds
    From print_time 1525515514.618826 default
    

    【讨论】:

      猜你喜欢
      • 2012-07-16
      • 2023-03-23
      • 2022-08-06
      • 1970-01-01
      • 2020-05-18
      • 1970-01-01
      • 2022-06-26
      • 1970-01-01
      相关资源
      最近更新 更多