根据http://docs.python.org/library/os.path.html
"在Windows上,每个驱动器都有一个当前目录"
当我os.getcwd()在Windows上使用时,这给了我一些麻烦.
我在我的C盘上使用Python 2.7来调用位于共享网络驱动器F:上的脚本.然而,os.getcwd()从这个脚本中返回我的C盘上的目录.
有什么办法可以获得我的F盘的工作目录吗?
实际上,这取决于:
如果直接启动Python(不通过cmd.exe),那么是的,你只有一个当前目录(就像总是指定cd/d ...):
--> import os
--> os.getcwd()
'c:\\source\\dbf-dev'
--> os.chdir('z:')
--> os.getcwd()
'Z:\\'
--> os.chdir('c:') # assumes root directory
--> os.getcwd()
'C:\\'
Run Code Online (Sandbox Code Playgroud)
但是,如果从cmd.exe启动Python,则可以获得历史视角:
>>> import os
>>> os.getcwd()
'Z:\\perm-c'
>>> os.chdir('c:') # does not assume root directory
>>> 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:\\'
Run Code Online (Sandbox Code Playgroud)
毫无疑问,这是cmd.exe在幕后做事的工件.
但是要回答你原来的问题 - 找出驱动器f:当前目录的唯一方法是