Nummer der Programmzeile anzeigen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
MrNiceTry
User
Beiträge: 80
Registriert: Samstag 7. November 2009, 10:32

Ein gutes neues Jahr an Alle !

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

Danke

MrNiceTry
Benutzeravatar
str1442
User
Beiträge: 520
Registriert: Samstag 31. Mai 2008, 21:13

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).
BlackJack

Schau Dir mal `sys.settrace()` an. Wofür brauchst Du das denn?
MrNiceTry
User
Beiträge: 80
Registriert: Samstag 7. November 2009, 10:32

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.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Schau dir mal logging und Logbook an. Es dürfte eher unwahrscheinlich sein dass du eine bessere Version dieses "Rades" hinbekommst.
MrNiceTry
User
Beiträge: 80
Registriert: Samstag 7. November 2009, 10:32

Problem ist gelöst.

Danke an Alle.

MrNiceTry
Antworten