Hallo,
ich habe folgendes Problem und krieg das grad nicht gelöst:
Ich frage mit raw_input() nach einem Dateinamen. Wenn ich das einfach über print ausgebe steht das auch richtig da. Will ich nun diesen Dateinamen benutzen um eine Datei zu öffnen gibt er mir einen IOError und sagt " No such file or directory: 'Dateiname\r' " Er hängt also noch so ein \r an meinen Dateinamen an..klar, dann kann es ja nicht gehen.
Wie krieg ich das nun hin, dass er das nicht macht??
Danke!!
[gelöst] Problem mit raw_input
Code: Alles auswählen
>>> s = "dateiname\r"
>>> s
'dateiname\r'
>>> s.strip()
'dateiname'
das versteh ich nicht so ganz. funktioniert zumindest nicht bei mir.
nochmal: zb. file_name = raw_input()
-> dann geb ich einen dateinamen ein; zb. Dateiname
file = open(file_name,'r')
-> hier kommt jetzt der fehler wie oben beschrieben.
mach ich aber print file_name, dann spuckt der korrekterweise Dateiname aus..ohne \r dran. aber bei dem fehler ists mit dem \r dran
ich schnall das irgendwie nicht.?
nochmal: zb. file_name = raw_input()
-> dann geb ich einen dateinamen ein; zb. Dateiname
file = open(file_name,'r')
-> hier kommt jetzt der fehler wie oben beschrieben.
mach ich aber print file_name, dann spuckt der korrekterweise Dateiname aus..ohne \r dran. aber bei dem fehler ists mit dem \r dran
ich schnall das irgendwie nicht.?
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Das `\r' ist eine Escape-Sequenz für ein Whitespace - genauer gesagt nen Carriage Return.
Wie du Whitespaces losbekommst, hat numerix ja schon beschrieben.
Wie du Whitespaces losbekommst, hat numerix ja schon beschrieben.
ahh *klick* jetzt hab ich es verstanden!
danke für die schnelle tolle hilfe!!
jop funktioniert so, wie numerix es geschrieben hat..hab das nur nicht gleich verstanden..so ohne kommentar.
@ Trundle: hast recht..mit print repr() sieht man das \r
@ cofi: danke für die info..jetzt weiß ich wenigstens wo das her kommt
gruß!
danke für die schnelle tolle hilfe!!
jop funktioniert so, wie numerix es geschrieben hat..hab das nur nicht gleich verstanden..so ohne kommentar.
@ Trundle: hast recht..mit print repr() sieht man das \r
@ cofi: danke für die info..jetzt weiß ich wenigstens wo das her kommt
gruß!
Eine bessere Lösung wäre es natürlich keine kaputte Entwicklungsumgebung zu verwenden. Das '\r' hat bei `raw_input()` nämlich nichts zu suchen, aber leider schleicht sich das bei Eclipse zum Beispiel da rein.