IDLE oder Kommandozeile

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
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Wie kann man feststellen, ob ein Script aus IDLE oder von der Kommandozeile ausgeführt wird?
Danke
HWK
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Aus reiner Neugierde, warum brauchst du sowas?
Ansonsten überprüfe doch mal die Umgebungsvariablen die werden wohl anders sein.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Diue Ausgabe von '\r', also CR funktioniert scheinbar nicht in IDLE, sondern nur in der Kommandozeile. Deshalb möchte ich hierfür 2 unterschiedliche Ausgaben machen.
Ich habe aber schon eine Idee. __file__ ist wohl nur in der Kommandozeile definiert.
MfG
HWK
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo HWK!

Ich habe das hier gefunden: http://www.python-forum.de/post-4138.html#4138

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Danke Gerold. Es hilft aber nicht wirklich weiter. Es muss schon '\r' sein, da ich keinen Zeilenumbruch, sondern ein 'Cursor Return' haben möchte, um immer wieder in derselben Zeilen zu schreiben.
Ich habe es jetzt so gelöst:

Code: Alles auswählen

try:
    flag = __file__.endswith('idle.pyw')
except NameError:
    flag = True
if flag:
    print text
else:
    stdout.write('\r%s' % text)
MfG
HWK
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

HWK hat geschrieben:Es muss schon '\r' sein
Hallo HWK!

:D Eigentlich wollte ich dich auf das hier aufmerksam machen:

Code: Alles auswählen

import sys
inIdle = 'idlelib' in sys.modules.keys()
lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

@Gerold: Manchmal sieht man den Wald vor lauter Bäumen nicht...
Danke
HWK
Antworten