Lange Dateinamen mit Leerzeichen unter Windows

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
chrizdee
User
Beiträge: 3
Registriert: Montag 22. Mai 2006, 07:22

Montag 22. Mai 2006, 07:29

Ich versuche gerade ein kleines Skript umzusetzen und irgendwie hab ich ziemliche Probleme unter Windows mit langen Dateinamen und Leerzeichen in Ordnernamen/Dateinamen.

Unter OS X/Linux funktiioniert mein Skript wunderbar, aber unter Windows bekommen ich ständig die Antwort: "...Datei wurde nicht gefunden", wenn ich versuche eine Datei über folgende Pfadangabe zugreifen will:

F:/Dies ist ein Ordner/Meine Datei fuer Python.txt

Wie muss ich meinen Pfad anpassen, damit der Zugriff auch unter Windows funktioniert?

Danke schonmal im Voraus
* Nicht böse sein - ich bin bludiger Anfänger und hab keinen Plan *
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Montag 22. Mai 2006, 07:31

Unter Windows werden Dateinamen mit Leerzeichen einfach in Anführungszeichen gesetzt ;)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
chrizdee
User
Beiträge: 3
Registriert: Montag 22. Mai 2006, 07:22

Montag 22. Mai 2006, 07:34

Also Du meinst ich müsste die Leerzeichen einfach durch so ersetzen:

'F:/Dies" "ist ein" "Ordner/Meine" "Datei" "fuer" "Python.txt'

und dann klappt's?
* Nicht böse sein - ich bin bludiger Anfänger und hab keinen Plan *
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Montag 22. Mai 2006, 07:39

Oh nein! :shock:

So:
"F:/Dies ist ein Ordner/Meine Datei fuer Python.txt"
:lol:

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
chrizdee
User
Beiträge: 3
Registriert: Montag 22. Mai 2006, 07:22

Montag 22. Mai 2006, 08:02

Ahhh OK - alles klar!

So inzwischen klappt alles wie geplant!

Herzlichen Dank für die raketenschnelle Hilfe!
* Nicht böse sein - ich bin bludiger Anfänger und hab keinen Plan *
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 22. Mai 2006, 13:39

chrizdee hat geschrieben:Ich versuche gerade ein kleines Skript umzusetzen und irgendwie hab ich ziemliche Probleme unter Windows mit langen Dateinamen und Leerzeichen in Ordnernamen/Dateinamen.
Das Problem hättest du übrigens auch unter Unices, nur sind dort Leerzeichen in Datei und Ordnernamen nicht so verbreitet.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

Dienstag 23. Mai 2006, 22:22

Darf ich noch benerken, dass Windows nie Slashs, sondern Backslashs zur Trennung benutzt?
Also in deinem Fall:

Windows:
r"F:\Dies ist ein Ordner\Meine Datei fuer Python.txt"
Linux:
"F:/Dies ist ein Ordner/Meine Datei fuer Python.txt"

Das kann man auch mit os.path.join machen, sprich:

Code: Alles auswählen

os.path.join("Dies ist ein Ordner","Meine Datei fuer Python.txt")
Nur bei Windows weiß ich nicht, wie man auf andere Laufwerke zugreift, arbeite mit Ubuntu Linux...
(vllt os.path.join("F:","Dies ist ein Ordner","Meine Datei fuer Python.txt") ???)
querdenker
User
Beiträge: 424
Registriert: Montag 28. Juli 2003, 16:19
Wohnort: /dev/reality

Dienstag 23. Mai 2006, 23:06

murph hat geschrieben:Darf ich noch benerken, dass Windows nie Slashs, sondern Backslashs zur Trennung benutzt?...
Das stimmt so nicht ganz!
Ich benutze unter Windows in meinen Skripten ständig den slash.
Der ist als alternativer path-separator unter os.path.altsep hinterlegt.
Das spart eine Menge an Anpassungsarbeit, wenn man dynamisch Pfadangaben baut und die Programme auch mal unter einem *nix laufen sollen / müssen.

mfg, querdenker
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

Dienstag 23. Mai 2006, 23:24

oh, danke!!!
Das wusst ich gar nicht!
THX
Antworten