python: os.path.isdir gibt false für ein Verzeichnis mit Punkt am Ende zurück

9

Windows 7, Python 2.6.6, 2.7

Erstellen Sie das Verzeichnis 'c: \ 1 \ test.'

Versuchen Sie es zu überprüfen, ob es sich um eine Datei oder eine Datei handelt, aber es ist weder:

%Vor%

Warum Verzeichnis mit. am Ende nicht als Dateisystemeintrag überhaupt erkannt? Aber ich kann es von os.listdir erhalten.

    
Sergey Azarkevich 26.03.2011, 11:19
quelle

1 Antwort

5

Wie in den Kommentaren gesagt, sind unter Windows Dateinamen, die mit einem Punkt enden, beginnen / enden mit Leerzeichen, "aux" usw. usw. usw. - kann nicht normal vom Explorer oder von den meisten Programmiersprachen zugegriffen werden .

Wenn Sie auf Verzeichnisse wie "test" zugreifen möchten. Aus Python-Code (oder anderem Code) können Sie den Pfad mit \?\ voranstellen, zum Beispiel:

%Vor%

Beachten Sie, dass ".." und "." funktioniert nicht wie gewohnt, wenn \?\ paths verwendet wird - Windows versucht auf eine Datei oder ein Verzeichnis mit diesem Namen zuzugreifen.

    
namey 26.03.2011, 13:32
quelle

Tags und Links