Le module time
a une fonction appelée asctime
, ce qui pourrait vous être utile:
>>> from time import asctime
>>> asctime()
'Tue Sep 21 17:49:42 2010'
Ainsi, vous pouvez incorporer quelque chose comme ce qui suit dans votre code:
sysTime = asctime()
timestamp = systime.split()[3]
separator = timestamp[2]
hour = timestamp.split(separator)[0]
while hour < 8:
# just wait
sysTime = asctime()
timestamp = systime.split()[3]
separator = timestamp[2]
hour = timestamp.split(separator)[0]
# now, it's just become 8:00 AM
while hour < 17: # until 5:00 PM
sysTime = asctime()
timestamp = systime.split()[3]
separator = timestamp[2]
hour = timestamp.split(separator)[0]
# start your thread to do whatever needs to be done
Démarrer ce script off une fois et laissez-le continuer à courir pour toujours.
Ceci est en réponse à la question de @ user428862 demandant si cela peut être exécuté avec "heure> 8 et heure < 17". Voici comment le code devrait être adapté à cette fin:
while 1:
sysTime = asctime()
timestamp = systime.split()[3]
separator = timestamp[2]
hour = timestamp.split(separator)[0]
minute = timestamp.split(separator)[1]
if (hour > 8) and (hour<17 and minute<1):
# start your thread to do whatever needs to be done
, il se produit juste aussi pour moi que je suis imploying division des cordes et qui renvoie les chaînes, donc hour
devrait être int(timestamp.split(separator)[0])
et ainsi de suite
Est-ce que ce travail est fait? Si oui, ajoutez l'étiquette appropriée, s'il vous plaît. –
Ce n'est pas à la maison, j'ai une solution qui fonctionne bien dans SQL --trigger, maintenant besoin de la solution python. – Merlin