Question

J'ai dû faire une introspection en python et ce n'était pas joli :

name = sys._getframe(1).f_code
name = "%s:%d %s()" %(os.path.split(name.co_filename)[1],name.co_firstlineno,name.co_name)

Pour obtenir quelque chose comme

foo.py:22 bar() blah blah

Dans notre sortie de débogage.

Je voudrais idéalement appliquer quoi que ce soit à Stderr avec ce type d'informations - est-il possible de modifier le comportement de l'impression à l'échelle mondiale dans Python?

Était-ce utile?

La solution

Une instruction d'impression effectue ses E/S via "sys.stdout.write" afin que vous puissiez remplacer sys.stdout si vous souhaitez manipuler le flux d'impression.

Autres conseils

Le python inspecter Le module rend cela beaucoup plus facile et plus propre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top