J'écris un code python qui gère un fichier texte et, pour chaque ligne d'entrée, calcule le temps impliqué par l'action décrite dans cette ligne, puis signale un "temps de fonctionnement". Sortie requise commepython: calcul de l'avancement du temps
lapse time
start 12:00
action1 0:37 12:37
action2 1:01 13:38
action3 0:30 14:08
Je suis arrivé à quelques approches possibles, mais tous semblaient maladroits. Surtout, je suis confus à propos de l'utilisation de "temps" ou "strftime" ou "datetime" ou peut-être même quelque chose d'autre. Je suis sûr qu'une solution simple et élégante doit exister.
NB les fuseaux horaires et l'heure d'été ne sont pas un problème, si je peux arriver à montrer UTC qui est suffisant, au moins pour un début. À un stade ultérieur, la dernière colonne (UTC) pourrait être complétée par une colonne «heure locale» mais secondaire.
Edité par manque apparent de clarté, d'ajouter par exemple pseudo-code:
TIME='12:00'
PCS_PER_HOUR=750
with infile:
read line of data
process data, including calc of PCS_DONE
LAPSE=PCS_DONE/PCS_PER_HOUR
TIME += LAPSE
print(' ..... ' ,format(data, data, data, LAPSE, TIME))
Ma question est de savoir comment faire le "TIME = '12: 00" en quelque chose que python peut facilement gérer et incrémenter avec un nombre entier calculé de secondes ou de minutes ou autre.
Veuillez partager vos "quelques approches possibles". – DyZ
Ils étaient sur le modèle de garder des variables séparées pour le nombre d'heures, le nombre de minutes, puis en ajoutant "la manière artisanale" comme "si minutes> 60: heures + = 1, minutes - = 60". Essentiellement, il n'utilise aucune fonction spécifique au temps, alors que Python en a une grande richesse, au point de causer de la confusion. –
Conserve l'heure en secondes, telle que retournée par 'time.time()'. Imprimez-le comme vous le souhaitez en utilisant 'strftime()'. – DyZ