Contexte: J'ai remarqué que le truc nohup python test.py &
ne fonctionne généralement pas parce que la sortie ne soit pas correctement enregistré en temps réel à nohup.out
. Les solutions données in this famous question (telles que nohup python -u
) ne fonctionnent pas toujours, comme indiqué in my other question here.impression redéfinis pour ouvrir, écrire dans un fichier journal, près
Question: J'ai utilisé print(...)
partout dans mon code, donc je ne veux pas changer cela et le remplacer par une autre fonction de journalisation. Est-il possible de redéfinir print
de le faire à la place:
from __future__ import print_function
def print(s):
with open('out.txt', 'a+') as f:
f.write(str(s) + '\n')
old_print(s) # how to print it with the standard print too?
Quel est le problème avec la première réponse à votre question précédente? – user2357112
@ user2357112 Si je me souviens bien, les solutions avec 'flush' n'ont pas fonctionné dans 100% des cas pour moi. – Basj
Si 'flush' n'a pas fonctionné pour vous, il n'y a aucune raison de penser que' close' fonctionnera mieux. Vous devriez probablement regarder dans la cause première de vos problèmes nohup; ce que vous faites maintenant est fondamentalement le débogage de fusil de chasse. – user2357112