How To Run A Python Program At A Specific Time

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 พ.ย. 2024
  • In this video I cover how to run a python program or function at a specific time of day. This is useful when trying to call a function or program at a particular time. It has many use cases such as cron jobs.

ความคิดเห็น • 9

  • @dereknirenbergmusic
    @dereknirenbergmusic 5 หลายเดือนก่อน +1

    Since I've always been warned against "while True" loops, you could make the "while" parameter dependent on the time:
    while format_time != stop_time:
    continue
    print("The times matched")
    I'm not sure how much memory it takes to look up the time continuously, but since you're only checking the time to the second:
    from time import sleep
    while format_time != stop_time:
    sleep(1)
    print("The times matched")

  • @sh_vayne
    @sh_vayne 6 หลายเดือนก่อน

    Very insightful…

  • @martinkwong5286
    @martinkwong5286 4 หลายเดือนก่อน

    would appreciate if you could advise how to modify the script if i would like to stop/break the loop at min sec rather than sec. thanks in advance.

    • @TaylorsSoftware
      @TaylorsSoftware  4 หลายเดือนก่อน

      You can use the built in "time.sleep(60*minutes)" function at the end of the while loop after the if statement. Where "minutes" will be a variable that contains the amount of minutes you would like the program to check. I hope this has helped. :)

    • @martinkwong5286
      @martinkwong5286 4 หลายเดือนก่อน

      @@TaylorsSoftware sorry , i think you i did not write my question clearly. i am interested to stop/break at milliseconds (for example, stop time = 09:09:01.123456 ) rather than by second. hope you can help, thanks again.

    • @TaylorsSoftware
      @TaylorsSoftware  4 หลายเดือนก่อน

      I see now. I recommend you use the "datetime" module for microseconds rather than the "time" module, as it has more information. You can import datetime at the top of your program then set format_time = datetime.datetime.now().strftime("%H:%M:%S.%f"). I hope this helped! :)

    • @martinkwong5286
      @martinkwong5286 4 หลายเดือนก่อน

      @@TaylorsSoftware Hello again, the script has been modified but won't break at stop time. Do you know if I am missing anything here? Thanks
      import time
      import datetime
      if __name__ == '__main__':
      stop_time = "20:38:10.100000"
      while 1:
      # local_time = datetime.localtime()
      format_time = datetime.datetime.now().strftime("%H:%M:%S.%f")
      if(format_time == stop_time):
      print("Time Matched")
      break
      print(format_time,end="
      ")
      print("Loop broke")

    • @martinkwong5286
      @martinkwong5286 4 หลายเดือนก่อน

      @@TaylorsSoftware Hello Again,, the script was modified but seems it won't break at stop time. Do you think I missed anything here? Thanks again.
      import time
      import datetime
      if __name__ == '__main__':
      stop_time = "20:55:00.500000"
      while 1:
      # local_time = datetime.localtime()
      format_time = datetime.datetime.now().strftime("%H:%M:%S.%f")
      if(format_time == stop_time):
      print("Time Matched")
      break
      print(format_time,end="
      ")
      print("Loop broke")