Python——基于时间运行方法/函数的最佳方式是什么。(24小时)
我一直在考虑在我想要的时间运行脚本/代码。就像我们说的,等等,我想在00:00运行一个程序(我把它输入到我想在那个时候启动的代码中),而现在是23:21。所以它应该等到那个时候,然后运行这个方法/函数或者它应该做的任何事情 在这种情况下,最好的运行方式是什么 编辑:示例- 我想通过一个密码来做。我有一个密码 我们说的是3个函数。在23:50的时候,我希望函数nr1 跑然后在23:55,我希望函数nr2运行,然后在00:05运行 希望在同一个py文件中运行函数nr3和所有这些Python——基于时间运行方法/函数的最佳方式是什么。(24小时),python,time,Python,Time,我一直在考虑在我想要的时间运行脚本/代码。就像我们说的,等等,我想在00:00运行一个程序(我把它输入到我想在那个时候启动的代码中),而现在是23:21。所以它应该等到那个时候,然后运行这个方法/函数或者它应该做的任何事情 在这种情况下,最好的运行方式是什么 编辑:示例- 我想通过一个密码来做。我有一个密码 我们说的是3个函数。在23:50的时候,我希望函数nr1 跑然后在23:55,我希望函数nr2运行,然后在00:05运行 希望在同一个py文件中运行函数nr3和所有这些 您正在寻找像y这样的
您正在寻找像y这样的专用任务调度器 或者简单地说,您可以放置一个crontab来运行每分钟运行的python脚本。
存储方法名称和在数据库中运行的时间。当任务运行时,它会查看一分钟内是否有任何任务要运行,并执行数据库中指定的方法。您正在寻找像y这样的专用任务调度器 或者简单地说,您可以放置一个crontab来运行每分钟运行的python脚本。 存储方法名称和在数据库中运行的时间。当任务运行时,它会查看当前是否有任何任务要运行,并执行数据库中指定的方法。库就是您要查找的。不需要站点包或其他像cron这样的实用程序。库是您需要的。不需要站点软件包或其他类似cron的实用程序。您可以使用crontab 要编辑:
crontab -e
要添加初始时间:50 23 * * * /usr/bin/python /your/file.py function1
55 23 * * * /usr/bin/python /your/file.py function2
05 00 * * * /usr/bin/python /your/file.py function3
你的档案应该是这样的
import sys
def function1():
print "function 1 running"
def function2():
print "function 2 running"
def function3():
print "function 3 running"
if sys.argv[1]:
run = sys.argv[1]
if run == "function1":
function1()
elif run == "function2":
function2()
elif run == "function3":
function3()
您可以使用crontab
要编辑:crontab -e
要添加初始时间:50 23 * * * /usr/bin/python /your/file.py function1
55 23 * * * /usr/bin/python /your/file.py function2
05 00 * * * /usr/bin/python /your/file.py function3
你的档案应该是这样的
import sys
def function1():
print "function 1 running"
def function2():
print "function 2 running"
def function3():
print "function 3 running"
if sys.argv[1]:
run = sys.argv[1]
if run == "function1":
function1()
elif run == "function2":
function2()
elif run == "function3":
function3()
您可以这样做:
import time
starttimes = { (23, 50): func1, (23, 55): func2, (0, 5): func3 }
while True:
now = tuple(time.gmtime()[3:5])
if now in starttimes:
starttimes[now]() # call a function
time.sleep(60)
请注意,这是一个非常粗糙的解决方案,特别是假设
func1
…func3
函数的运行时间都不会超过下一个函数的开始时间。另外:你需要启动你的程序,让它一直运行。如果您杀死它(或重新启动系统),则需要重新启动它。您可以执行以下操作:
import time
starttimes = { (23, 50): func1, (23, 55): func2, (0, 5): func3 }
while True:
now = tuple(time.gmtime()[3:5])
if now in starttimes:
starttimes[now]() # call a function
time.sleep(60)
请注意,这是一个非常粗糙的解决方案,特别是假设
func1
…func3
函数的运行时间都不会超过下一个函数的开始时间。另外:你需要启动你的程序,让它一直运行。如果你杀死它(或重新启动系统),你需要重新启动它。如果它是一个独立的程序,你可以使用任务调度器(Windows)或cron(Linux)哦。我想说,这不是一个程序本身。我说这话是不好的。我只是假设它是一个代码,我希望方法/函数在给定的时间启动。程序无法自行启动。您可以使用系统服务(如前面提到的cron)启动您的程序,也可以手动启动您的程序,但编写代码使其在适当的时间休眠,然后执行某些操作并再次休眠。我编辑了我的帖子。也许这会给你另一个想法:)?如果它是一个独立的程序,你可以使用任务调度器(用于Windows)或cron(用于Linux)哦。我想说,这不是一个程序本身。我说这话是不好的。我只是假设它是一个代码,我希望方法/函数在给定的时间启动。程序无法自行启动。您可以使用系统服务(如前面提到的cron)启动您的程序,也可以手动启动您的程序,但编写代码使其在适当的时间休眠,然后执行某些操作并再次休眠。我编辑了我的帖子。也许这会给你另一个想法:)?哦,好的,但我想通过一个代码来做。比如说,我有一个代码,上面有3个函数。在23:50时,我希望运行函数nr1。然后在23:55我希望函数nr2运行,然后00:05我希望函数nr3运行,所有这些都在同一个py文件中。比如说,我有一个代码,上面有3个函数。在23:50时,我希望运行函数nr1。然后在23:55我希望函数nr2运行,然后00:05我希望函数nr3运行,所有这些都在同一个py文件中。基本上我想要的是,我有三个函数。在23:50时,我希望运行函数nr1。然后在23:55我希望函数nr2运行,然后在00:05我希望函数nr3运行,所有这些都在同一个py文件中如果使用参数,您可以这样做。像这样:python file.py function1
Oh dang,这样行吗?我的想法更像是在我的代码中,我不太擅长python(仅限于初学者),而且我认为有一个函数是内置的更简单的方法。然后我只是把它添加到代码中。但我认为没有这样的东西?@虽然有,但以最简单的形式,它确实消耗了一点资源,不多,但远不是最佳的。更为复杂的是,每个函数都使用一个线程。看起来棒极了!我想这是我在寻找的东西!我想我的问题被误解了。基本上我想要的是,我有三个函数。在23:50时,我希望运行函数nr1。然后在23:55我希望函数nr2运行,然后在00:05我希望函数nr3运行,所有这些都在同一个py文件中如果使用参数,您可以这样做。像这样:python file.py function1
Oh dang,这样行吗?我的想法更像是在我的代码中,我不太擅长python(仅限于初学者),而且我认为有一个函数是内置的更简单的方法。然后我只是把它添加到代码中。但我认为没有这样的东西?@虽然有,但以最简单的形式,它确实消耗了一点资源,而不是太多,但是