[python] debugování vláken v Eclipse / PyDev
Zdravím, mám aplikaci s několika vlákny, když dám breakpoint do zdroje, který se pouští ve vláknu tak se debuger nezastaví. V hlavním vlákně je vše v pohodě. Poradíte mi někdo, jak mám ladit ve vláknech? Díky moc za pomoc ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] Jak ukoncit podprogram po fatalnej chybe bez toho aby sa ukoncil aj hlavny program
Ukonci se, protoze vse jede v jednom procesu. Importem se nevola program, ale importuje source do namespacu. Lek - nastartovat consolovy prg jako subproces. Radek On 1/31/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Mam podprogram v module --- skript consolepgm.py import sys class pgm: def __init__(self): pass def cosi(self): pass def kdesi(self): pass def run(self): for j in range(9): if j!=7: print running... else: print j = %d %j print Stop sys.exit() if __name__ == __main__: mypgm=pgm() mypgm.run() koniec a hlavny program z ktoreho ho volam takto --- skript - from consolepgm import pgm # print spustam program... mypgm=pgm() mypgm.run() print koniec programu koniec Problem: sys.exit() ukonci vsetko, t. j. nie len volany program, ale aj volajuci, t.j hlaska koniec programu sa nikdy nevypise. Rad by som ukoncil len volany podprogram tak, aby hlavny program pokracoval dalej. Ide to nejako? Mgr. Ing. Roman MIKLÓŠ Prvá stavebná sporiteľňa a.s. Bajkalská 30, P. O. Box 48 829 48 Bratislava 25 Tel.: +421/ 2 / 582 31 174 Fax: +421/ 2 / 582 31 109 ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] Jak ukoncit podprogram po fatalnej chybe bez toho aby sa ukoncil aj hlavny program
V pripade takto jednoducheho programu ktory ma len jednu funkciu by return pomohol, pretoze return ukoncuje funkciu. Ale co v pripade realneho programu, ktory ma viac funkcii? fkt1() fkt2() Ak v niektorej funkcii nastane fatalna chyba chcem aby sa ukoncil cely program a nepokracoval dalej. Nechcem, aby sa ukoncila len funkcia a pokracovalo sa v dalsej funkcii. Petr Prikryl [EMAIL PROTECTED] Sent by: [EMAIL PROTECTED] 31.01.2007 11:13 Please respond to Konference PyCZ python@py.cz To Konference PyCZ python@py.cz cc Subject Re: [python] Jak ukoncit podprogram po fatalnej chybe bez toho aby sa ukoncil aj hlavny program A nepomohl by místo sys.exit() jednoduše return? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Wednesday, January 31, 2007 11:02 AM To: Konference PyCZ Subject: [python] Jak ukoncit podprogram po fatalnej chybe bez toho aby sa ukoncil aj hlavny program Mam podprogram v module --- skript consolepgm.py import sys class pgm: def __init__(self): pass def cosi(self): pass def kdesi(self): pass def run(self): for j in range(9): if j!=7: print running... else: print j = %d %j print Stop sys.exit() if __name__ == __main__: mypgm=pgm() mypgm.run() koniec a hlavny program z ktoreho ho volam takto --- skript - from consolepgm import pgm # print spustam program... mypgm=pgm() mypgm.run() print koniec programu koniec Problem: sys.exit() ukonci vsetko, t. j. nie len volany program, ale aj volajuci, t.j hlaska koniec programu sa nikdy nevypise. Rad by som ukoncil len volany podprogram tak, aby hlavny program pokracoval dalej. Ide to nejako? Mgr. Ing. Roman MIKLÓŠ Prvá stavebná sporiteľňa a.s. Bajkalská 30, P. O. Box 48 829 48 Bratislava 25 Tel.: +421/ 2 / 582 31 174 Fax: +421/ 2 / 582 31 109 ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python Mgr. Ing. Roman MIKLÓŠ Prvá stavebná sporiteľňa a.s. Bajkalská 30, P. O. Box 48 829 48 Bratislava 25 Tel.: +421/ 2 / 582 31 174 Fax: +421/ 2 / 582 31 109 ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] Jak ukoncit podprogram po fatalnej chybe bez toho aby sa ukoncil aj hlavny program
Mysle som na nieco takeho ale este som to nerobil. Jak sa to nastartuje ako subprocess vo windows? Nemas priklad? Slo by to nejako cez thready. Spustit podprogram v inom threade? radek [EMAIL PROTECTED] Sent by: [EMAIL PROTECTED] 31.01.2007 11:14 Please respond to Konference PyCZ python@py.cz To Konference PyCZ python@py.cz cc Subject Re: [python] Jak ukoncit podprogram po fatalnej chybe bez toho aby sa ukoncil aj hlavny program Ukonci se, protoze vse jede v jednom procesu. Importem se nevola program, ale importuje source do namespacu. Lek - nastartovat consolovy prg jako subproces. Radek On 1/31/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Mam podprogram v module --- skript consolepgm.py import sys class pgm: def __init__(self): pass def cosi(self): pass def kdesi(self): pass def run(self): for j in range(9): if j!=7: print running... else: print j = %d %j print Stop sys.exit() if __name__ == __main__: mypgm=pgm() mypgm.run() koniec a hlavny program z ktoreho ho volam takto --- skript - from consolepgm import pgm # print spustam program... mypgm=pgm() mypgm.run() print koniec programu koniec Problem: sys.exit() ukonci vsetko, t. j. nie len volany program, ale aj volajuci, t.j hlaska koniec programu sa nikdy nevypise. Rad by som ukoncil len volany podprogram tak, aby hlavny program pokracoval dalej. Ide to nejako? Mgr. Ing. Roman MIKLÓŠ Prvá stavebná sporiteľňa a.s. Bajkalská 30, P. O. Box 48 829 48 Bratislava 25 Tel.: +421/ 2 / 582 31 174 Fax: +421/ 2 / 582 31 109 ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python Mgr. Ing. Roman MIKLÓŠ Prvá stavebná sporiteľňa a.s. Bajkalská 30, P. O. Box 48 829 48 Bratislava 25 Tel.: +421/ 2 / 582 31 174 Fax: +421/ 2 / 582 31 109 ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] Jak ukoncit podprogram po fatalnej chybe bez toho aby sa ukoncil aj hlavny program
Zdravim, [EMAIL PROTECTED] wrote: a hlavny program z ktoreho ho volam takto --- skript - from consolepgm import pgm # print spustam program... mypgm=pgm() mypgm.run() print koniec programu koniec from consolepgm import pgm print spustam program... mypgm=pgm() try: mypgm.run() except SystemExit: print 'chyba v podprogramu' print koniec programu Leo -- Leos Pol SW Engineer Radiante Corp. If it can be imagined, we can implement it ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] Jak ukoncit podprogram po fatalnej chybe bez toho aby sa ukoncil aj hlavny program
Dik Leo, funguje to super !!! Leos Pol [EMAIL PROTECTED] Sent by: [EMAIL PROTECTED] 31.01.2007 11:41 Please respond to Konference PyCZ python@py.cz To Konference PyCZ python@py.cz cc Subject Re: [python] Jak ukoncit podprogram po fatalnej chybe bez toho aby sa ukoncil aj hlavny program Zdravim, [EMAIL PROTECTED] wrote: a hlavny program z ktoreho ho volam takto --- skript - from consolepgm import pgm # print spustam program... mypgm=pgm() mypgm.run() print koniec programu koniec from consolepgm import pgm print spustam program... mypgm=pgm() try: mypgm.run() except SystemExit: print 'chyba v podprogramu' print koniec programu Leo -- Leos Pol SW Engineer Radiante Corp. If it can be imagined, we can implement it ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python Mgr. Ing. Roman MIKLÓŠ Prvá stavebná sporiteľňa a.s. Bajkalská 30, P. O. Box 48 829 48 Bratislava 25 Tel.: +421/ 2 / 582 31 174 Fax: +421/ 2 / 582 31 109 ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] Jak ukoncit podprogram po fatalnej chybe bez toho aby sa ukoncil aj hlavny program
V pripade takto jednoducheho programu ktory ma len jednu funkciu by return pomohol, pretoze return ukoncuje funkciu. Ale co v pripade realneho programu, ktory ma viac funkcii? fkt1() fkt2() Ak v niektorej funkcii nastane fatalna chyba chcem aby sa ukoncil cely program a nepokracoval dalej. Nechcem, aby sa ukoncila len funkcia a pokracovalo sa v dalsej funkcii. V takovém případě to vypadá na klasický příklad použití výjimky. Můžu ji vyvolat odkudkoliv a můžu ji odchytit na vhodném místě. class KritickaChyba(Exception): pass ... def run(self): for j in range(9): if j!=7: print running... else: print j = %d %j print Stop raise KritickaChyba() ... from consolepgm import pgm # print spustam program... try: mypgm=pgm() mypgm.run() except KritickaChyba: pass print koniec programu (Nezkoušel jsem si vytvořit testovací příklad. Píšu to z hlavy. Ověř si to.) pepr ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] Presmerovanie stdout do okna v Tkinteri
Původní zpráva Od: Pavel Kosina [EMAIL PROTECTED] Předmět: Re: [python] Presmerovanie stdout do okna v Tkinteri Datum: 31.1.2007 13:50:20 trochu jsem to vylepšil ;-) from Tkinter import * from ScrolledText import ScrolledText import sys class py_message_box: def __init__(self, parent): self.frame = Frame(parent) self.frame.pack() self.text = ScrolledText(self.frame, background='black',foreground='green', font=(Courier, 9)) self.text.pack() self.mybutton = Button(self.frame, text=Quit, command=self.mybuttonClick) self.mybutton.pack(fill=BOTH) #roztažení def mybuttonClick(self): self.frame.destroy() # mě nikdy quit() nefungovalo... def write(self, s): self.text.insert(END, s) self.text.see(END) # aby bylo poslední vždy vidět root=Tk() text_window = py_message_box(root) sys.stdout = text_window print Toto je pokus o presmerovanie printu do okna\n*100 # 100x root.mainloop() -- geon Pavel Kosina A jak bys to předělal aby to to zobrazovalo i chyby? Přesměrovat print se mi podařilo, ale chyb ne:( například eval(error) zkoušel jsem try:eval(x) except: import traceback traceback.print_exc() ale to stejne vypsalo chybu do shellu a ne do okna... Dík Blujacker ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] Presmerovanie stdout do okna v Tkinteri
sys.stderr = text_window Radek On 1/31/07, Jakub Vojáček [EMAIL PROTECTED] wrote: Původní zpráva Od: Pavel Kosina [EMAIL PROTECTED] Předmět: Re: [python] Presmerovanie stdout do okna v Tkinteri Datum: 31.1.2007 13:50:20 trochu jsem to vylepšil ;-) from Tkinter import * from ScrolledText import ScrolledText import sys class py_message_box: def __init__(self, parent): self.frame = Frame(parent) self.frame.pack() self.text = ScrolledText(self.frame, background='black',foreground='green', font=(Courier, 9)) self.text.pack() self.mybutton = Button(self.frame, text=Quit, command=self.mybuttonClick) self.mybutton.pack(fill=BOTH) #roztažení def mybuttonClick(self): self.frame.destroy() # mě nikdy quit() nefungovalo... def write(self, s): self.text.insert(END, s) self.text.see(END) # aby bylo poslední vždy vidět root=Tk() text_window = py_message_box(root) sys.stdout = text_window print Toto je pokus o presmerovanie printu do okna\n*100 # 100x root.mainloop() -- geon Pavel Kosina A jak bys to předělal aby to to zobrazovalo i chyby? Přesměrovat print se mi podařilo, ale chyb ne:( například eval(error) zkoušel jsem try:eval(x) except: import traceback traceback.print_exc() ale to stejne vypsalo chybu do shellu a ne do okna... Dík Blujacker ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python