495 Stimmen

Was ist die Python-Entsprechung von PHPs var_dump()?

Beim Debuggen in PHP finde ich es oft nützlich, einfach eine var_dump() in meinem Code, um mir zu zeigen, was eine Variable ist, was ihr Wert ist und was sie enthält.

Was ist ein gutes Python Äquivalent für diese?

349voto

Jan Punkte 3811

Ich denke, das beste Äquivalent zu PHPs var_dump($foo, $bar) wird kombiniert print con vars :

print vars(foo),vars(bar)

332voto

Martin v. Löwis Punkte 120025

Um einen Wert ansprechend darzustellen, können Sie die pprint Modul. Der einfachste Weg, um alle Variablen mit dem Modul zu löschen, ist

from pprint import pprint

pprint(globals())
pprint(locals())

Wenn Sie in CGI arbeiten, ist eine nützliche Debugging-Funktion die cgitb Modul, das den Wert der lokalen Variablen als Teil des Tracebacks anzeigt.

76voto

Hai Phaikawl Punkte 1001

Das, was dem am nächsten kommt PHP 's var_dump() es pprint() mit dem getmembers() Funktion in der eingebauten inspect Modul:

from inspect import getmembers
from pprint import pprint
pprint(getmembers(yourObj))

38voto

sha256 Punkte 2869

Ich habe eine sehr leichtgewichtige Alternative zu PHPs var_dump für die Verwendung in Python geschrieben und später als Open Source zur Verfügung gestellt.

GitHub: https://github.com/sha256/python-var-dump

Sie können es einfach installieren mit pip :

pip install var_dump

29voto

Cody Casterline Punkte 788

PHP var_export() zeigt normalerweise eine serialisierte Version des Objekts, die mit exec() neu erstellt werden kann. Das, was dem in Python am nächsten kommt, ist repr()

"Bei vielen Typen versucht diese Funktion, eine Zeichenkette zurückzugeben, die ein Objekt mit dem gleichen Wert ergibt, wenn sie an eval() übergeben wird [...]"

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