hallo,
folgender code startet am anfang eines scriptes. aus dem libs ordner importiere ich verschiedene superklassen.
sys.path.append(os.getcwd())
sys.path.append(os.getcwd()+"\\libs\\")
im aktuellen verzeichnis gibt es einen image ordner mit verschiedenen Bildern. wenn ich bilder dann versuche zu laden (mit os.getcwd()+r"bildpfad") versucht er diese aus os.getcwd()+"\libs\"+bildpfad zu laden.
wo ist dabei das problem da der cwd normalerweise doch der pfad sein sollte der das gerade ausgeführte skript enthält.
mfg andi
Verzeichnis behalten?
Nein. Dein CWD ist das aktuelle Arbeitsverzeichnis, das muß nichts mit dem Ort des Skriptes zu tun haben. Wenn deine Bilder relativ zum Skript liegen, mußt Du zuerst den genauen Ort deines Skriptes herausfinden. Oder Du adressierst die Bilder absolut, mit ganzem Pfad.Andi hat geschrieben: wo ist dabei das problem da der cwd normalerweise doch der pfad sein sollte der das gerade ausgeführte skript enthält.
mfg andi
Zum Aneinanderhängen von Pfaden würde ich übrigens immer os.path.join nehmen!
Jörg
"Sie sind nicht berechtigt, unrechtmäßige Kopien dieses Datenträgers zu erstellen." - Microsoft-Weisheit auf einer CD von MS-VisualC++-6.0
Zum Beispiel mit dieser Funktion (habe ich bisher nur unter Linux getestet):Andi hat geschrieben:und wie bekomme ich das verzeichnis in dem sich das Skript befindet?
Code: Alles auswählen
def home_path(resolve_links=0):
p = sys.argv[0]
if not os.path.isabs(p):
p = os.path.normpath(os.path.join(os.getcwd(), p))
if resolve_links:
p = os.path.realpath(p)
return os.path.split(p)[0]
Viel Glück,
Jörg
"Sie sind nicht berechtigt, unrechtmäßige Kopien dieses Datenträgers zu erstellen." - Microsoft-Weisheit auf einer CD von MS-VisualC++-6.0