Bonjour,
Dans mon application python, je souhaite vérifier que la date de création d'un répertoire est supérieure à une date t.
Plus précisément je veux attendre que ce dossier soit créé avant de continuer mon programme.
Pour cela, j'ai écrit le code suivant:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import os, time
# Attente de la creation du dossier de resultats
dateNow = time.localtime() # Instant t. Je veux que mon repertoire soit cree apres cet instant
etatRepResult = False
attente = 0
while not etatRepResult:
# Verifie que le dossier de resultat existe
if os.path.isdir(self.session.simu.rep_resultats):
# Calcul de la date de creation du dossier
dateStr = time.ctime(os.path.getctime(self.session.simu.rep_resultats))
dateCreaDossier = time.strptime(dateStr)
# Si le dossier de resultats a ete cree apres dateNow, la simulation a bien démarre
if dateCreaDossier > dateNow:
etatRepResult = True
# Attente de 0.5s avant le prochain essai, jusqu'a la limite timeout
time.sleep(0.5)
attente += 0.5
if attente > self.timeOut:
startOk = False
break; |
Cependant, j'ai ce message d'erreur lorsque j'exécute le programme:
ValueError: time data 'Wed Jun 04 09:52:39 2014' does not match format '%a %b %d %H:%M:%S %Y'
Je suis allée vérifier à quoi correspondent les lettres en "%":
%a: "Weekday as locale’s abbreviated name."
%b: "Month as locale’s abbreviated name."
%d: "Day of the month as a zero-padded decimal number."
%H: "Hour (24-hour clock) as a zero-padded decimal number."
%M: "Minute as a zero-padded decimal number."
%S: "Second as a zero-padded decimal number."
%Y: "Year with century as a decimal number."
Pour information je suis sous Linux (RedHat 5).
Tout semble bien correspondre, pourquoi le programme me dit "does not match format"?
Si quelqu'un peut m'aider à trouver ce qui ne va pas... et aussi, si vous avez des suggestions d'amélioration pour mon code, n'hésitez pas!
Merci d'avance pour votre aide!
Partager