Eigentlich hängt es davon ab:
Wenn Python direkt gestartet wird (ohne über cmd.exe zu gehen), dann ja, haben Sie nur das aktuelle Verzeichnis (es ist wie immer cd /d ... anzugeben):
--> import os
--> os.getcwd()
'c:\\source\\dbf-dev'
--> os.chdir('z:')
--> os.getcwd()
'Z:\\'
--> os.chdir('c:') # nimmt das Stammverzeichnis an
--> os.getcwd()
'C:\\'
Aber wenn Sie Python von cmd.exe starten, bekommen Sie die historische Perspektive:
>>> import os
>>> os.getcwd()
'Z:\\perm-c'
>>> os.chdir('c:') # nimmt nicht das Stammverzeichnis an
>>> os.getcwd()
'C:\\Source\\Path'
>>> os.chdir('d:')
>>> os.getcwd()
'D:\\'
>>> os.chdir('l:')
>>> os.getcwd()
'L:\\'
>>> os.chdir('l:\\letter')
>>> os.getcwd()
'l:\\letter'
>>> os.chdir('z:')
>>> os.getcwd()
'Z:\\perm-c'
>>> os.chdir('l:\\')
>>> os.getcwd()
'l:\\'
Zweifellos handelt es sich hierbei um ein Artefakt von cmd.exe, das im Hintergrund aktiv ist.
Um Ihre ursprüngliche Frage zu beantworten - der einzige Weg, das aktuelle Verzeichnis auf Laufwerk f: herauszufinden, ist
- 1) Python von cmd.exe aus gestartet zu haben
- 2) mit os.chdir() zu 'f:' zu wechseln
- 3) os.getcwd()
- 4) zurückzukehren (falls gewünscht)