Hello

Tu peux essayer en utilisant flush <https://docs.python.org/2/library/stdtypes.html#file.flush> dans le bloc de la boucle. Sinon, tu peux aussi utiliser le module logging <https://docs.python.org/3.4/library/logging.html> de python qui est très utile pour faire ce genre de choses...

++

Arthur


Le 15/06/2015 15:00, Bourhis Yves a écrit :
Bonjour,

afin de garder une trace d'une opération d'importation de données, j'écris des logs dans un fichier. Je m'aperçois d'un problème : les logs sont tous écrits d'un seul coup quand l'opération elle même est finie et non pas au fur et à mesure !
En gros j'ai quelque chose comme ça dans mon code :

handleLog = open('/var/log/monlog','a')
BOUCLE de traitement sur le fichier à importer
    ...
    handleLog.write(date+heure+message sur la donnée en cours d'import)
    ...
handleLog.close()

L'opération prend quelques minutes, mais tous les logs ne s'affiche qu'une fois l'ensemble fini : du coup un "tailf /var/log/monlog" ne m'est pas d'un grand secours pour en suivre le bon déroulement !

Est-ce qu'il y a un moyen d'obliger "django" à écrire au fur et à mesure de la boucle ?

Cordialement.

_______________________________________________
django mailing list
[email protected]
http://lists.afpy.org/mailman/listinfo/django

Répondre à