Python unter Palm OS - kein raw_input?

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
DelphiMarkus
User
Beiträge: 23
Registriert: Samstag 19. April 2008, 13:27
Wohnort: Münsterland

Hallo!

Ich habe mal vorhin nach Python für Palm OS gesucht und es auch gefunden. Es läuft eigentlich auch schon, aber ich kann raw_input nicht benutzen.

Ich habe das als Test eingegeben:

Code: Alles auswählen

Name = raw_input("Bitte Namen eingeben:")
Dann gib er mir aber aus:

Code: Alles auswählen

Bitte Namen eingeben:Traceback (innermost last):
  File "<string>", line 1, in ?
VauleError: I/O operation on closed file
Ich habe auch schon andere Sachen versucht, aber er will nicht. Irgendwann nach einigen Versuchen stürtzt der Palm dann ab.

Zur Information: Ich habe einen Palm Tungsten E2.
Ich hoffe mir kann jemand helfen. Ich wäre sehr dankbar dafür.

Vielen Dank schonmal im Voraus
DelphiMarkus
ne0h
User
Beiträge: 115
Registriert: Samstag 16. Februar 2008, 11:35

Hi,

ein "ValueError" bedeutet im Grunde, dass da inhaltlich was nicht passt, sprich: Der Inhalt des Wertes passt nicht.

Ausserdem besagt Deine Exception auch, dass versucht wird in eine geschlossene Datei zu schreiben. Schreibst Du die Eingabe also in eine Datei die Du nicht mit Schreibzugriff geöffnet hast?

Und was mir noch einfallen würde: Falls es doch an raw_input() liegt, versuchs doch mal einfach mit input() (wobei ich darauf tippe, dass einfach nur der File-Zugriff nicht richtig durchgeführt wird.

MfG

ne0h
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

ne0h hat geschrieben:ein "ValueError" bedeutet im Grunde, dass da inhaltlich was nicht passt, sprich: Der Inhalt des Wertes passt nicht.

Ausserdem besagt Deine Exception auch, dass versucht wird in eine geschlossene Datei zu schreiben. Schreibst Du die Eingabe also in eine Datei die Du nicht mit Schreibzugriff geöffnet hast?
Das bekommt man auch mit einem normalen Python hin:

Code: Alles auswählen

import sys
sys.stdin.close()
Dummerweise kann man die Datei nicht wieder aufmachen, da ``sys.stdin.fileno()`` keinen File Descriptor liefert, mithilfe dessen man stdin wieder öffnen könnte.
ne0h hat geschrieben:Und was mir noch einfallen würde: Falls es doch an raw_input() liegt, versuchs doch mal einfach mit input() (wobei ich darauf tippe, dass einfach nur der File-Zugriff nicht richtig durchgeführt wird.
``input()`` ließt auch nur von ``sys.stdin``, wenn aber das geschlossen ist, wird es ebensowenig funktionieren.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
DelphiMarkus
User
Beiträge: 23
Registriert: Samstag 19. April 2008, 13:27
Wohnort: Münsterland

Hallo!

Danke für die Antworten. Ich habe es gestern abend noch mal ausprobiert und dann hat es geklappt:

Code: Alles auswählen

Name = "Hi"
Name = raw_input("Bitte Namen eingeben:")
Das hat geklappt. Das Python für den Palm hat scheinbar noch einige Macken, die sicherlich nie gefixt werden.

Bei input() ist es das selbe. Aber trotzdem nochmal Danke!
Bambie
User
Beiträge: 15
Registriert: Mittwoch 26. März 2008, 01:09

Ich hab Python für Windows Mobile, da bekomme ich bei einem Raw-Input immer ein Pop-Up, wo ich die Daten einfügen muss. (Sind ziemlich blöd aus)
Vielleicht ist das Fenster im Hintergrund gerutscht oder so. Für Tkinter brauchte ich zusätzlich noch ein paar DLL-Dateien

MFG Bambie
ne0h
User
Beiträge: 115
Registriert: Samstag 16. Februar 2008, 11:35

Dummerweise kann man die Datei nicht wieder aufmachen, da ``sys.stdin.fileno()`` keinen File Descriptor liefert, mithilfe dessen man stdin wieder öffnen könnte.

Wusste ich garnicht, ich war mir sicher dass es nur an fehlendem Dateizugriff liegt.

Man lernt ja ständig dazu... :wink:


ne0h
Antworten