Ich neige dazu, nur nach vorne verwenden Schrägstriche für Pfade (‚/‘) und Python ist damit auch auf Windows glücklich. In der Beschreibung von os.path.join heißt es, dass das der richtige Weg ist, wenn Sie plattformübergreifend gehen wollen. Aber wenn ich es verwende, bekomme ich gemischte Schrägstriche:gemischte Schrägstriche mit os.path.join an Fenstern
import os
a = 'c:/'
b = 'myFirstDirectory/'
c = 'mySecondDirectory'
d = 'myThirdDirectory'
e = 'myExecutable.exe'
print os.path.join(a, b, c, d, e)
# Result:
c:/myFirstDirectory/mySecondDirectory\myThirdDirectory\myExecutable.exe
Ist das korrekt? Soll ich es nachher überprüfen und korrigieren oder gibt es einen besseren Weg?
Dank
EDIT: ich gemischte Hiebe bekommen auch wenn für Wege
import sys
for item in sys.path:
print item
# Result:
C:\Program Files\Autodesk\Maya2013.5\bin
C:\Program Files\Autodesk\Maya2013.5\mentalray\scripts\AETemplates
C:\Program Files\Autodesk\Maya2013.5\Python
C:\Program Files\Autodesk\Maya2013.5\Python\lib\site-packages
C:\Program Files\Autodesk\Maya2013.5\bin\python26.zip\lib-tk
C:/Users/nookie/Documents/maya/2013.5-x64/prefs/scripts
C:/Users/nookie/Documents/maya/2013.5-x64/scripts
C:/Users/nookie/Documents/maya/scripts
C:\Program Files\Nuke7.0v4\lib\site-packages
C:\Program Files\Nuke7.0v4/plugins/modules
'os' ist schlau und funktioniert, welche Schrägstriche Sie für Ihr Betriebssystem benötigen. Um es korrekt zu verwenden, setzen Sie keine Schrägstriche in die Strings a, b, c, d und e - os fügt sie hinzu. – ejrb
Ich sehe, aber was ist, wenn ich gemischte Schrägstriche bekomme, wenn ich nach einem Pfad frage? (Ich habe den ersten Beitrag mit einem Beispiel aktualisiert) – nookie
Sie können 'os.path.normpath (mixed_slashes_path)' verwenden und die Schrägstriche normalisiert bekommen. Oh, und ich vermute, du machst das in Maya; Es macht Dinge sehr UNIX-ähnlich, daher die Schrägstriche in den Pfaden, die es für dich hinzufügt. –