Seite 1 von 1

wingide: python shell und threads

Verfasst: Freitag 26. Oktober 2007, 11:39
von Jona
hi,

wenn ich in wingide "eval file in py shell" ausführe, werden threads nicht gestartet.

falls jemand wingide installiert hat wäre es schön wenn er das mal mit diesem beispiel probieren könnte.

(Source > eval file in py shell)

Code: Alles auswählen

import threading

class Test( threading.Thread ):
    
    def __init__( self ):
        threading.Thread.__init__( self )
        
    def run( self ):
        print "...wtf?"

if __name__ == "__main__":
    Test().start()
bei mir passiert einfach nüchts :(

Verfasst: Sonntag 28. Oktober 2007, 10:48
von Jona
nutzt das denn keiner?
würde mir schon reichen wenn ich wüsste, dass es eigentlich geht, ich nur was falsch mache ...?

Verfasst: Sonntag 28. Oktober 2007, 11:17
von gerold
Jona hat geschrieben:nutzt das denn keiner?
Hallo Jona!

Ich habe das noch nie genutzt. Aber in WingIDE 2.1.4-2 funktioniert es einwandfrei.

Code: Alles auswählen

Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)]
Type "help", "copyright", "credits" or "license" for more information.
>>> 
Evaluating hallo.py
...wtf?
>>> 
mfg
Gerold
:-)

PS: Warum machst du immer ein Leerzeichen zwischen den Klammern? --> ``( self )`` Das ist in Python und in allen anderen Programmiersprachen die ich kenne nicht üblich.

Verfasst: Sonntag 28. Oktober 2007, 12:13
von Jona
gerold hat geschrieben: Ich habe das noch nie genutzt. Aber in WingIDE 2.1.4-2 funktioniert es einwandfrei.
ich habe 3.0 ...
habe jetzt nochwas festgestellt: wenn ich das beispiel debugge wird der thread gestartet. pausiere ich aber bevor der thread gestartet wird und mache das manuell im "debug-test"-fenster wird er auch nicht gestartet. das ist doch nicht schön :(

warum nutzt du das nicht? ist doch ne super sache.
vor allem auch das evaluieren einzelner klassen/funktionen.
nutze das sehr gerne.
gerold hat geschrieben: PS: Warum machst du immer ein Leerzeichen zwischen den Klammern? --> ``( self )`` Das ist in Python und in allen anderen Programmiersprachen die ich kenne nicht üblich.
finde das übersichtlicher.
vor allem bei verschachtelten klammern.

Verfasst: Sonntag 28. Oktober 2007, 12:35
von Leonidas
Jona hat geschrieben:finde das übersichtlicher.
vor allem bei verschachtelten klammern.
Finde das unübersichtlicher, da es unnötig lang ist und keinerlei Mehrwert liefert. Ist außerdem nicht PEP8-konform, also werden dich bei dem Stil dauernd Leute wie ich fragen, darum du die Klammern so seltsam setzt.

Achja: Setzt deine IDE ``__name__`` überhaupt gleich '__main__'?

Verfasst: Sonntag 28. Oktober 2007, 12:59
von Jona
Leonidas hat geschrieben: Finde das unübersichtlicher, da es unnötig lang ist und keinerlei Mehrwert liefert. Ist außerdem nicht PEP8-konform, also werden dich bei dem Stil dauernd Leute wie ich fragen, darum du die Klammern so seltsam setzt.
damit muss ich dann wohl leben.

und:

Code: Alles auswählen

foo( foobar( foo(1), bar(1) ) )
>
foo(foobar(foo(1), bar(1)))
:)
Achja: Setzt deine IDE ``__name__`` überhaupt gleich '__main__'?

ja.

Verfasst: Sonntag 28. Oktober 2007, 13:02
von Leonidas
Jona hat geschrieben:

Code: Alles auswählen

foo( foobar( foo(1), bar(1) ) )
>
foo(foobar(foo(1), bar(1)))
:)
Warum nicht so? Das ist konsistent, da die Zahlen jetzt auch ihre eigenen Spaces haben.

Code: Alles auswählen

foo ( foobar ( foo ( 1 ), bar ( 1 ) ) )

Verfasst: Sonntag 28. Oktober 2007, 13:19
von Jona
das ist es doch eben was es für mich übersichtlicher macht.
die innersten klammern haben keine spaces.

du musst das aber nicht verstehen, wahrscheinlich ist es einfach nur eine (schlechte(?)) angewohnheit.

Verfasst: Sonntag 28. Oktober 2007, 14:41
von pug
Hallo,

hab das auch mal mit der neuen 3.0.1er version getestet -> gleiches Ergebnis.

Das Beste wird sein, wenn Du mal ne Mail an die User Maillingliste schreibst.
Da bekommt man normalerweise sehr schnell und kompetent geholfen.

Grüße
Pug

Verfasst: Sonntag 28. Oktober 2007, 15:04
von Jona
danke pug.

das ist dann wohl ein bug, werde das mal in der mailinglist posten.