Je veux exécuter ma fonction et ensuite je veux trouver l'heure actuelle en utilisant python.comment trouver l'heure en utilisant python?
puis disons après 2 heures ma fonction devrait fonctionner à nouveau.
que devrais-je faire?
Je veux exécuter ma fonction et ensuite je veux trouver l'heure actuelle en utilisant python.comment trouver l'heure en utilisant python?
puis disons après 2 heures ma fonction devrait fonctionner à nouveau.
que devrais-je faire?
Il existe plusieurs façons de trouver le temps en Python:
import time
print time.time() # unix timestamp, seconds from 1970
import datetime
print datetime.datetime.now()
time.sleep(7200) # sleep for 2 hours
Votre processus va courir pendant des heures à la fois et faire d'autres choses? Si vous ne pouvez donc marquer le temps comme si:
from time import time
start_time = time() # current time expressed as seconds since 1/1/1970
...
now = time()
if (now - start_time) >= (2 * 60 * 60): # number of seconds in 2 hours
do_function()
Sinon, si elle n'a pas besoin de faire quoi que ce soit pendant 2 heures, vous pouvez faire:
from time import sleep
quit_condition = False
if not quit_condition:
sleep(2 * 60 * 60) # control will not return to this thread for 2 hours
quit_condition = do_function()
Dans le deuxième scénario, sans doute votre fonction indiquera si la boucle principale peut ou non être quittée.
pour déterminer l'heure, vous pouvez utiliser pythons datetime module
from datetime import datetime
print datetime.datetime.now();
Pour exécuter le script toutes les deux heures - c'est un travail à crontab deamon. C'est un processus spécial dans les systèmes UNIX qui exécutent des commandes dans des périodes de temps.
Lisez à propos de la mise en place d'emplois Cron ici: http://blog.dreamhosters.com/kbase/index.cgi?area=2506
Cela ne fonctionne pas. Soit 'import datetime' ou' print datetime.now() '. – Philipp
import datetime
import time
def func():
# your function
pass
while True:
func() # call you function
print datetime.datetime.now() # print current datetime
time.sleep(2*60*60) # sleep for 2 hours
Cependant, une meilleure façon pour une opération planifiée serait d'utiliser cron
, comme @Silver léger suggéré.
"après 2 heures, ma fonction devrait fonctionner à nouveau"? Demandez-vous comment utiliser le 'cron' intégré ou' at'? Si oui, quel système d'exploitation utilisez-vous? –