web-dev-qa-db-fra.com

Comment lister tous les attributs d'un objet dans python pdb?

J'essaie de lister tous les attributs d'un objet dans Python pdb.

Disons que je veux lister tous les attributs et toutes les méthodes de sys.stderr.

Comment puis je faire ça?

33
sorin

Pour pdb, vous devriez pouvoir faire p dir(a).

42
Dan Breen

Si a est votre objet, utilisez dir(a) pour obtenir une liste de ses symboles. Consultez la documentation sur la fonction dir pour plus d'informations.

4
hochl

pdb est comme un python Shell, ce que vous pouvez faire dans pdb est ce que vous pouvez faire dans Python (sauf peut-être des trucs très exotiques)

Vous pouvez définir des variables, appeler des fonctions, ...

dir est la fonction de droite à appeler . Il devrait fonctionner sur tous les objets car il peut soit être par défaut intégré ou être implémenté, mais j'ai en effet vu des objets sur lesquels il échoue. Je suppose que cela a à voir avec le "vieux" python (dans mon cas défaillant: la bibliothèque suds)

Habituellement __dict__ peut également être utile sur le débogueur pdb

3
Thomas

print dir(object_name) listera tous les attributs d'objet pour vous.

2
Aamish Baloch