1515 Stimmen

Gibt es eine eingebaute Funktion, die alle aktuellen Eigenschaften und Werte eines Objekts ausgibt?

Was ich hier also suche, ist so etwas wie PHPs drucken_r Funktion.

So kann ich meine Skripte debuggen, indem ich den Zustand des betreffenden Objekts sehe.

1voto

MichaelMoser Punkte 2876

Dieses Projekt modifiziert pprint so, dass es alle Objektfeldwerte anzeigt, es ignoriert die Objekte __repr__ rekursiert sie auch in verschachtelte Objekte. Es funktioniert mit Python3, siehe https://github.com/MoserMichael/pprintex Sie können es über pip installieren: pip install printex

0voto

Vishnu Punkte 2031

Desde el Antwort kann es leicht modifiziert werden, um nur die "Attribute" eines Objekts zu erhalten, wie unten dargestellt:

def getAttributes(obj):
    from pprint import pprint
    from inspect import getmembers
    from types import FunctionType

    def attributes(obj):
        disallowed_names = {
          name for name, value in getmembers(type(obj)) 
            if isinstance(value, FunctionType)}
        return {
          name for name in dir(obj) 
            if name[0] != '_' and name not in disallowed_names and hasattr(obj, name)}
    pprint(attributes(obj))

Es ist hilfreich, wenn man diese Funktion temporär hinzufügt und kann ohne viele Änderungen im bestehenden Quellcode entfernt werden

0voto

Slipstream Punkte 11219

Sie können die Flask Debug Toolbar ausprobieren.
https://pypi.python.org/pypi/Flask-DebugToolbar

from flask import Flask
from flask_debugtoolbar import DebugToolbarExtension

app = Flask(__name__)

# the toolbar is only enabled in debug mode:
app.debug = True

# set a 'SECRET_KEY' to enable the Flask session cookies
app.config['SECRET_KEY'] = '<replace with a secret key>'

toolbar = DebugToolbarExtension(app)

-1voto

Evhz Punkte 8080

Ich arbeite gerne mit eingebauten Python-Objekttypen Tasten o Werte .

Bei Attributen handelt es sich unabhängig davon um Methoden oder Variablen:

o.keys()

Für die Werte dieser Attribute:

o.values()

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X