Seite 1 von 1

Nummer der Programmzeile anzeigen

Verfasst: Dienstag 4. Januar 2011, 19:19
von MrNiceTry
Ein gutes neues Jahr an Alle !

Wie kann ich während der Programmausführung die Nummer der aktuell ausgeführte Zeile ermitteln ?

Danke

MrNiceTry

Re: Nummer der Programmzeile anzeigen

Verfasst: Dienstag 4. Januar 2011, 19:35
von str1442

Code: Alles auswählen

$ cat x.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys

print sys._getframe(0).f_lineno
$ python !$
python x.py
6
Bevor du das benutzt, sei dir im Klarem darüber, dass der Unterstrich vor getframe() nicht umsonst dort steht. Sowas sollte man offensichtlich in normalem Quelltext nicht benutzen (Tracebacks von Exceptions tragen diese Informationen automatisch, und für die normale Ausführung erscheint es sowieso nicht sehr sinnvoll, diese Information zu akquirieren).

Re: Nummer der Programmzeile anzeigen

Verfasst: Dienstag 4. Januar 2011, 19:36
von BlackJack
Schau Dir mal `sys.settrace()` an. Wofür brauchst Du das denn?

Re: Nummer der Programmzeile anzeigen

Verfasst: Dienstag 4. Januar 2011, 19:44
von MrNiceTry
Ich bin dabei meinen eigenen Programmablauf zu loggen.

Beim Auftreten von unzulässigen Zuständen "meiner Programmlogik" sollte mir die Programmzeile mitgeloggt werden.

Wie gesagt es geht um Logikfehler, nicht um Fehler in Pythoncode.

Re: Nummer der Programmzeile anzeigen

Verfasst: Dienstag 4. Januar 2011, 19:50
von DasIch
Schau dir mal logging und Logbook an. Es dürfte eher unwahrscheinlich sein dass du eine bessere Version dieses "Rades" hinbekommst.

Re: Nummer der Programmzeile anzeigen

Verfasst: Freitag 7. Januar 2011, 00:41
von MrNiceTry
Problem ist gelöst.

Danke an Alle.

MrNiceTry