J'ai un programme Python composé de plusieurs modules. Le module "principal" crée une variable de fichier log_file
pour consigner la sortie; tous les autres modules devraient également écrire dans ce fichier.où stocker un nom de fichier journal en python?
Cependant, je ne veux pas importer le module "principal" dans d'autres modules, car ce serait une dépendance vraiment bizarre (sans parler du fait qu'il pourrait même ne pas fonctionner en raison d'une dépendance circulaire).
Où puis-je stocker la variable log_file
?
EDIT:
Après réponse @pyfunc - serait-ce ok:
--- config.py ---
# does not mention log_file
# unless it's required for syntax reasons; in which case log_file = None
# ...
--- main.py ---
from datetime import datetime
import config.py
log_filename = str(datetime.now()) + '.txt'
config.log_file = open(log_filename, 'w')
# ...
--- another_module.py ---
import config.py
# ...
config.log_file.write(some_stuff)
Il ne semble pas y avoir de py3k spécifique dans cette question. – SilentGhost
Je vous recommande d'utiliser le package de consignation avec les fichiers de configuration au lieu de la solution personnalisée. –
Je suis juste en train d'imprimer la sortie, pas d'erreurs. Je suppose que je pourrais toujours utiliser le paquet de journalisation ... Bien que je pensais que c'est une surcharge, où j'ai juste besoin d'imprimer des choses dans un fichier. – max