Mathias Uebel <mathias.uebel@meeloon.de> writes:
Berthold Höllmann schrieb:
Mathias Uebel <mathias.uebel@meeloon.de> writes:
Hallo Freunde,
in PHP gibt es die sogenannten "magischen Konstanten", wie __FILE__, __LINE__ etc. Ich habe das immer gern zum Debuggen genutzt. Gibt es so etwa auch in Python?
Mathias
Normalerweise benutze ich
import inspect
def curPos(frame=1): """Print functionname, filename and line at called position. """ co = sys._getframe(frame).f_code stack = inspect.stack()[frame] return "%s (%s @ %d)" % (co.co_name, stack[1], stack[2])
und
print curPos()
als Ersatz for __FILE__ and __LINE__ debug print statements.
Berthold
Hallo Berthold,
ich habe mir das noch einmal angesehen:
Hat einen Grund, warum sys.getframe(frame) bemüht wird? Denn inspect.stack()[frame] hat diese Information doch auch.
return "%s (%s @ %d)" % (stack[3], stack[1], stack[2])
Es gibt keinen speziellen Grund. Es kann allenfalls sein, das ich curPos schon vor 2.1 nutzte, und es ispect da noch nicht gab. beim upgrade habe ich stack[3] dann übersehen. Gruß Berthold
Mathias
_______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
-- A: Weil es die Lesbarkeit des Textes verschlechtert. F: Warum ist TOFU so schlimm? A: TOFU F: Was ist das größte Ärgernis im Usenet?