我想知道Python如何进行字符串比较,更具体地说,它是如何在使用小于(<)或大于(>)运算符时确定结果的.
例如,如果我把print('abc' < 'bac')我得到True.我理解它比较了字符串中的相应字符,但是由于缺乏更好的术语而不清楚为什么还有更多的字符,"权重"放在第一个字符串中的a小于b(第一个位置)而不是a在第二个字符串(第二个位置)中小于b的事实.
我有以下方法:
# last_updated is a datetime() object, representing the last time this program ran
def time_diff(last_updated):
day_period = last_updated.replace(day=last_updated.day + 1,
hour=1,
minute=0,
second=0,
microsecond=0)
delta_time = day_period - last_updated
hours = delta_time.seconds // 3600
# make sure a period of 24hrs have passed before shuffling
if hours >= 24:
print "hello"
else:
print "do nothing"
Run Code Online (Sandbox Code Playgroud)
我想知道从那以后24小时过去了last_updated,我怎么能这样做last_updated呢?
目前,我在 Azure 实例上使用作业计划程序设置了定期任务。这些在固定时间触发 API (Django) 端点。
我想让这些时间变得动态(这不适用于此解决方案)。计划是直接从 Django 触发这些任务。计划时间将存储在我的数据库 (MySQL) 中并被检索以创建计划作业。当这些值改变时,调度程序也应该相应地改变。
在查看了 Celery 后,似乎使用定期任务 crontab 计划可以工作。使用这个,是否可以根据数据库中的值设置我的计划时间?
看来我还需要一个 Redis 实例。由于我只会使用 Celery 来执行定期任务,这仍然是正确的方法吗?
import time
import webbrowser
print(time.ctime())
targetTime = time.ctime()
if(targetTime == "Tue May 01 11:05:17 2018"):
webbrowser.open("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
Run Code Online (Sandbox Code Playgroud)
这是我已经尝试过的,并且在时机成熟时它不会打开链接。我通读了时间图书馆,但找不到任何帮助我的东西。我的目标是让程序在我想要的时间打开一个链接。任何帮助表示赞赏。
python ×4
celery ×1
celerybeat ×1
comparison ×1
datetime ×1
django ×1
string ×1
time ×1
timezone ×1