Frage zu keyboard-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
rilkar
User
Beiträge: 4
Registriert: Freitag 17. Juni 2011, 09:01

Hallo,
ich versuche mich gerade mit Python 3.2 auf WinXP. Wenn ich in der python konsole bin funktioniert input(...) perfekt, allerdings versuche ich nun das programm in der shell mit "python prog.py" zu starten und er fragt nicht mehr nach user inputs.

weiss jemand wo das problem liegt? ich kriege auf linie 7 eine syntax-fehlermeldung
mein skript:

Code: Alles auswählen

import os
boards=os.listdir("T:\\LP\\LVCAM\\boards\\")
loop=true
selection=input('Enter Board-ID: ')
newpath="T:\\boards\\"+selection
newpath=str.rstrip(newpath)
while not os.path.exists("T:\\boards\\"+selection)
	selection=input("Enter Board-ID: ")
	newpath="T:\\boards\\"+selection
	newpath=str.rstrip(newpath)
os.chdir(newpath)
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

rilkar hat geschrieben:weiss jemand wo das problem liegt? ich kriege auf linie 7 eine syntax-fehlermeldung
Und an welche Stelle zeigt die Fehlermarkierung in dieser Zeile? - Ganz ans Ende. Weil da was fehlt ...
rilkar
User
Beiträge: 4
Registriert: Freitag 17. Juni 2011, 09:01

und was fehlt da? ich sehe es echt nicht.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

s/linie/Zeile/

Beim `while` fehlt ein Doppelpunkt.
Daneben gibt es "raw-strings", damit sieht Zeile 2 beispielsweise so aus:

Code: Alles auswählen

boards = os.listdir(r"T:\LP\LVCAM\boards\")
und es gibt `os.path.join` zum Zusammensetzten von Pfaden.

Zeile 6 kann man so schreiben:

Code: Alles auswählen

newpath = newpath.rstrip()
oder gleich Zeile 5 so:

Code: Alles auswählen

newpath = os.path.join(r"T:\boards", selection.rstrip())
Wenn du Python 2.x benutzt solltest du auch besser `raw_input` statt `input` nutzen, warum? Gib mal `__import__('sys').exit()` ein (ohne die Backticks).
lunar

@cofi: Der OP verwendet laut seinem Beitrag Python 3.2.
rilkar
User
Beiträge: 4
Registriert: Freitag 17. Juni 2011, 09:01

danke für die info, ich falle immer wieder rein...
bin mir c++ gewöhnt :oops:

danke!
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

lunar hat geschrieben:@cofi: Der OP verwendet laut seinem Beitrag Python 3.2.
Ok, dann fällt der Hinweis zu `input` flach ;) Leider war das aus dem Snippet nicht erkennbar.
Antworten