Guten Abend,
ich komme da nicht weiter (mal wieder).  Ich habe bereits versucht im Forum zu suchen.... leider erfolglos, ich habe 345 Seiten auf meine Suche gefunden!!!!!
Ich versuche mal das Problem zu umschreiben: Wenn ich ein Programm stoppe möchte ich den Wert einer Variable, die im Programm verwendet wird auslesen/bestimmen?
Wer kann mir da weiterhelfen?
Besten Dank im voraus
Knuffi
P.S. Manchmal komme ich mir vor wie der letzte Trottel, ich schaffe es nicht mal im Feld "Suche" meine Frage zu definieren. Wie heisste es nun: Variabe direkt ausgeben, Variabe direktmodus??? Die Frage macht die Antwort.
Bitte seit nachsichtig. Danke.
            
			
									
						
										
						Variable abfragen /ausgeben oder wie auch immer
- 
				BlackJack
 
@Knuffi: Wie stoppst Du denn ein Programm?  Suchst Du vielleicht das `pdb`-Modul?
            
			
									
						
										
						- 
				anogayales
 - User
 - Beiträge: 456
 - Registriert: Mittwoch 15. April 2009, 14:11
 
Alternativ ginge auch raw_input [1] und print.
[1] https://docs.python.org/2/library/funct ... #raw_input
Grüße,
anogayales
            
			
									
						
										
						[1] https://docs.python.org/2/library/funct ... #raw_input
Grüße,
anogayales
hallo
das Programm wird mit der Tastenkombination Steuerung/c unterbrochen bzw ist bereits mit einer Fehlermeldung gestoppt.
Habe gerade gegoogelt was pdb bedeutet, is cool men. Wo gibt es eine Kurzanweisung. Kann ich gut gebrauchen.
Gruß
Knuffi
P.S Oh je wie wenig Ahnung habe ich?
            
			
									
						
										
						das Programm wird mit der Tastenkombination Steuerung/c unterbrochen bzw ist bereits mit einer Fehlermeldung gestoppt.
Habe gerade gegoogelt was pdb bedeutet, is cool men. Wo gibt es eine Kurzanweisung. Kann ich gut gebrauchen.
Gruß
Knuffi
P.S Oh je wie wenig Ahnung habe ich?
- 
				BlackJack
 
@Knuffi: Wenn der Prozess bereits beendet ist, dann gibt es keine Chance mehr sich Variablen anzuschauen.
Bezüglich einer kurzen Erklärung der Kommandos: Das Modul ist dokumentiert.
            
			
									
						
										
						Bezüglich einer kurzen Erklärung der Kommandos: Das Modul ist dokumentiert.
Das pdb Modul ist eine Softwarelösung.Knuffi hat geschrieben:also keine Softwarelösung, schade .
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit 
 )
			
						- cofi
 - Python-Forum Veteran
 - Beiträge: 4432
 - Registriert: Sonntag 30. März 2008, 04:16
 - Wohnort: RGFybXN0YWR0
 
Fuer den Fall, dass du keinen Debugger suchst (pdb), hier mal 1:1, was du beschrieben hast:
Und da du schon selbst einen Logger erwaehnst. Da gibt es noch das logging Modul.
            
			
									
						
							Code: Alles auswählen
def main():
    ...
if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        print watched_variable
        sys.exit(1)Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
			
						- 
				BlackJack
 
@cofi: Das funktioniert aber nur wenn `watched_variable` global ist, was ja wohl hoffentlich nicht der Fall ist. 
            
			
									
						
										
						Stoppst du manchmal selbst dein eigenes Programm, oder wie ist das zu verstehen? Dann empfehle ich dir einen Python-Editor, mit dem du Debugging machen kannst. Da kann man auch in Variablen reingucken, während das Programm läuft/pausiert ist. Das finde ich sehr hilfreich beim Entwickeln. Manchmal hilft schon einfach ein print an der richtigen Stelle.Knuffi hat geschrieben:Wenn ich ein Programm stoppe möchte ich den Wert einer Variable, die im Programm verwendet wird auslesen/bestimmen?
(..)
das Programm wird mit der Tastenkombination Steuerung/c unterbrochen bzw ist bereits mit einer Fehlermeldung gestoppt.
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
			
						>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
