- Nom du fichier à partir duquel le code est en cours d'exécution
- Nom de la classe de l'endroit où le code est en cours d'exécution
- Nom de la méthode (attribut de la classe) où le code est en cours d'exécution
Répondre
Voici un exemple de chaque:
from inspect import stack
class Foo:
def __init__(self):
print __file__
print self.__class__.__name__
print stack()[0][3]
f = Foo()
self.__class__.__name__ # name of class i'm in
pour le reste des modules de sys et oligo-
http://docs.python.org/library/sys.html http://docs.python.org/library/trace.html
Quelques infos: https://mail.python.org/pipermail/python-list/2001-August/096499.html et http://www.dalkescientific.com/writings/diary/archive/2005/04/20/tracing_python_code.html
avez-vous le voulez pour les rapports d'erreur, car le module de retraçage peut gérer que:
import sys
class A:
def __init__(self):
print __file__
print self.__class__.__name__
print sys._getframe().f_code.co_name
a = A()
Soyez très attention. Considérez:
class A:
pass
B = A
b = B()
Quel est le 'nom de classe' de b
ici? Est-ce A, ou B? Pourquoi? Le fait est que vous ne devriez pas avoir besoin de savoir ou de vous en soucier. Un objet est ce qu'il est: son nom est très rarement utile.
Le nom de la classe est 'A' puisque' b' est une ** Instance ** de 'B' qui à son tour est une ** référence ** à' A' qui est une ** Classe **. – ted
Pour les utilisateurs finaux, sûrement; mais extrêmement utile lors du débogage - comme pour un gestionnaire d'exception ou similaire à signaler où il se trouve. Vous pourriez composer un message d'erreur gentil pour dire la même chose, mais il aurait fréquemment cette information dedans de toute façon, dans ce cas il semble une perte de le taper chaque fois. Aussi, pour construire (par exemple) un paquet de journalisation général, il est extrêmement utile de pouvoir le fournir automatiquement. Si votre argument était valable, cela ne s'appliquerait-il pas aussi bien à isinstance(), ce qui est certainement important et utile? – TextGeek
- 1. Comment obtenir le nom d'un script Python en cours d'exécution?
- 2. cours de décorateur en Python
- 3. Fichier de vue en cours dans la méthode d'assistance Rails
- 4. NSIS obtenir le chemin d'accès du fichier d'installation en cours qui est en cours d'exécution
- 5. obtenir le type de curseur de la souris en cours
- 6. Obtenir une instance d'une classe dans un processus en cours
- 7. emacs recompile le fichier en cours d'exécution
- 8. Télécharger le fichier en utilisant la méthode post et python
- 9. Obtenir la valeur entière de l'année en cours en Java
- 10. En Python, comment obtenir l'image actuelle?
- 11. Obtenir le processus en cours donné handle de processus
- 12. Comment enregistrer la sortie de l'exécutable en cours d'exécution avec le script bash et l'entrée standard?
- 13. Comment obtenir l'objet en cours d'exécution pour une pile?
- 14. Communiquer avec un démon python en cours d'exécution
- 15. Rechercher le chemin d'accès au fichier en cours d'exécution
- 16. Comment obtenir le dossier temporaire pour l'utilisateur en cours
- 17. ActionScript - comment obtenir le jour maximum du mois en cours
- 18. page en surbrillance en cours ne pas la page en cours
- 19. comment trouver le serveur datetime en cours en téléchargeant le fichier et télécharger le fichier en utilisant php et mysql
- 20. Comment obtenir l'URL de la page actuelle en PHP
- 21. Comment obtenir le titre de la fenêtre active en cours en utilisant C#?
- 22. Que fait "Impossible d'évaluer l'expression car le code de la méthode en cours est optimisé." signifier?
- 23. Comment obtenir le répertoire en cours dans un service Web
- 24. Communiquer avec le service en cours d'exécution
- 25. ASP.NET MVC: Onglets ASCX - Ajuster la classe CSS en fonction de la page en cours?
- 26. Obtenir le nom de fichier de la fenêtre active en cours
- 27. Comment déplacer uniquement le fichier en cours avec Eclipse et/ou Ant?
- 28. macro Word, le stockage de la sélection en cours (VBA)
- 29. Comment vérifier si je cours sous Windows en Python?
- 30. Débogage d'un processus python en cours d'exécution
Essayez-vous de l'exécuter à partir de la ligne de commande? Il n'est évidemment pas défini alors; essayez de créer un fichier avec le code et de faire le nom de fichier python - cela fonctionnera comme prévu. –
exécutez-le à partir du fichier – mtasic85
Pourquoi ne pas inspecter.currentframe? – tzot