[Python-de] Problem mit Pfadangaben
Gerhard Häring
haering_python at gmx.de
Thu Apr 25 09:47:45 EDT 2002
* Fischer, Thomas <ThomasFischer at schmuecker.de> [2002-04-25 08:37 +0200]:
> Hallo!
> Ich möchte eine Datei über einen Pfad lesen.
> Dazu habe ich folgenden 3-Zeile erstellt:
>
> importFile="C:\Dokumente und Einstellungen\fis\Desktop\datei.txt"
> doc=open(importFile).read()
> print doc
>
> Leider bekomme ich eine IO-Fehlermeldung, da aus dem angegebenen Pfad
> folgendes wird:
>
> C:\\Dokumente und Einstellungen\x0cis\\Desktop\datei.txt"
>
> Aus fis innerhalb der Pfadangab wurde x0cis wodurch wiederum der Fehler
> entsteht.
>
> Könnt Ihr mir helfen?
\f scheint eine Escape-Sequenz zu sein: der Backslash hat in Strings ein
besondere Bedetung, er escapt bestimmte Sonderzeichen wie Newline \n,
Return \r. Hab's gerade rausgefunden, \f ist Form Feed (Seitenumbruch).
Lösungen:
0. Escape grundsätzlich \ als \\
1. Verwende Raw Strings, in diesen haben Backslashes keine besondere
Bedeutung: Bsp.: r"c:\Dok..."
2. Verwende os.path.join, das ist gut, portabel, und macht keine
Flecken:
os.path.join("c:", "Dokumente und Einstellungen", "fis", ...)
Übrigens gibt es Möglichkeiten, mit den win32-Extensions das
Desktop-Verzeichnis des Users rauszufinden, falls das Proggi mal
woanders laufen soll (es muss noch nicht mal ein C: Laufwerk geben).
Gerhard
--
This sig powered by Python!
Außentemperatur in München: 9.6 °C Wind: 2.5 m/s
More information about the Python-de
mailing list