Seite 1 von 1

Python unter Palm OS - kein raw_input?

Verfasst: Samstag 19. April 2008, 13:51
von DelphiMarkus
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

Verfasst: Samstag 19. April 2008, 22:50
von ne0h
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

Verfasst: Samstag 19. April 2008, 23:01
von Leonidas
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.

Verfasst: Sonntag 20. April 2008, 07:29
von DelphiMarkus
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!

Verfasst: Sonntag 20. April 2008, 09:11
von Bambie
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

Verfasst: Sonntag 20. April 2008, 15:47
von ne0h
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