WConio-Fehler

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
mathi
User
Beiträge: 314
Registriert: Dienstag 27. November 2007, 14:30

Hallo,

folgendes funktioniert in der Win shell problemlos:

Code: Alles auswählen

# -*- coding: utf-8 -*-
import sys
import WConio

def printcolor(color,data):
    WConio.textcolor(color)
    #sys.stdout.write(data)
    print (data)
    WConio.textcolor(15)

printcolor(14,"hallo, wie gehts? ")
printcolor(12,"mir geht's heute gut.")
c=raw_input('frage')
unter
der Python IDLE kommt folgender Fehler:

Code: Alles auswählen

Traceback (most recent call last):
  File "e:/Eigene Dateien/test.py", line 11, in <module>
    printcolor(14,"hallo, wie gehts? ")
  File "e:/Eigene Dateien/test.py", line 6, in printcolor
    WConio.textcolor(color)
  File "C:\Python25\lib\site-packages\WConio.py", line 162, in textcolor
    bgcolor = gettextinfo()[4] & 0x00F0
error: GetScreenInfo Failed
wie kann ich das vermeiden?

Edit: - andere baustelle -
wenn ich das ganze mit pyinstaller packe erscheint folgender Hinweis:

Code: Alles auswählen

MSVCR71.dll could not be extracted!
danach kommt aber was ich erwartet habe :?:
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

mathi hat geschrieben:wie kann ich das vermeiden?
Nicht IDLE verwenden. WConio funktioniert nur, wie das "Con" ja schon andeutet nur in Consolen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
mathi
User
Beiträge: 314
Registriert: Dienstag 27. November 2007, 14:30

ja aber ich muß ja irgendwie programmieren und das geschriebene ausprobieren :?:
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

mathi hat geschrieben:ja aber ich muß ja irgendwie programmieren und das geschriebene ausprobieren :?:
Ja und? Was hindert dich, eine Konsole zu verwenden? [wiki=FAQ#WieStarteIchSkripte]FAQ lesen hilft[/wiki].
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
mathi
User
Beiträge: 314
Registriert: Dienstag 27. November 2007, 14:30

ok, ich frage mal anders herum:
Gibt es eine Möglichkeit, im Code eine Abfrage zu machen, ob das Programm in der Win-CMD läuft oder wo anders? Dann könnte ich ja sowas Schreiben:

Code: Alles auswählen


if prog in CMD:
    nutze WConio
else:
    nutze WConio nicht
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Du kannst zum Beispiel einen dieser textcolor()-Befehle aufrufen und die Exception abfangen.

Code: Alles auswählen

try:
    WConio.textcolor(whatever)
    use_wconio = True
except WConio.error:
    use_wconio = False

def printcolor(color, msg):
    if use_wconio:
        ...
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Antworten