Lange Pfade in Python unter Windows

8

Ich habe ein Problem bei der Programmierung in Python unter Windows. Ich muss mit Dateipfaden arbeiten, die länger als 256 sind oder was die Grenzzeichen betrifft. Jetzt habe ich im Grunde zwei Lösungen gelesen:

  1. Verwenden Sie GetShortPathName von kernel32.dll und greifen Sie auf diese Weise auf die Datei zu.

Das ist nett, aber ich kann es nicht verwenden, da ich die Pfade auf eine Art benutzen muss

%Vor%

wobei der short_path ein wirklich kurzer Pfad ist (sowas wie D:\tools\Eclipse ) und die langen Pfade im Verzeichnis selbst erscheinen (verdammt Eclipse Plugins).

  1. Fügen Sie "\\?\" dem Pfad
  2. voran

Ich habe es nicht geschafft, das irgendwie zu machen. Der Versuch, auf diese Weise etwas zu tun, führt immer zum Fehler WindowsError: [Error 123] The filename, directory name, or volume label syntax is incorrect: <path here>

Meine Frage ist also: Wie mache ich die zweite Option? Ich betone, dass ich es genauso verwenden muss wie im Beispiel in Option # 1.

ODER

Gibt es einen anderen Weg?

EDIT: Ich brauche die Lösung in Python 2.7 zu arbeiten

EDIT2: Die Frage lange Python-Dateinamen Unterstützung in Windows gebrochen gibt die Antwort mit dem "magischen Präfix" und ich sagte, dass ich es in dieser Frage kenne. Was ich nicht weiß ist WIE benutze ich es? Ich habe versucht, das dem Pfad vorzuziehen, aber es ist einfach fehlgeschlagen, wie ich oben geschrieben habe.

    
Jiří Kantor 10.04.2015, 09:21
quelle

1 Antwort

8

Nun, es scheint, dass ich, wie immer, die Antwort auf das gefunden habe, was mich seit zwanzig Wochen nervt, nachdem ich ernsthaft jemanden danach gefragt habe.

Ich habe also festgestellt, dass ich zwei Dinge richtig machen muss:

  1. Der Pfad darf nur umgekehrte Schrägstriche und keine Schrägstriche enthalten.
  2. Wenn ich etwas wie ein Verzeichnis auflisten möchte, muss ich den Pfad mit einem Backslash beenden, sonst fügt Python /*.* an, was ein Schrägstrich ist, der schlecht ist.

Hoffe, zumindest wird jemand das nützlich finden.

    
Jiří Kantor 10.04.2015, 10:05
quelle

Tags und Links