Python Windows中其他驱动器的os.getcwd()
据 在Windows上,每个驱动器都有一个当前目录 当我在Windows上使用Python Windows中其他驱动器的os.getcwd(),python,Python,据 在Windows上,每个驱动器都有一个当前目录 当我在Windows上使用os.getcwd()时,这给我带来了一些麻烦 我在C驱动器上使用Python 2.7调用位于共享网络驱动器F:上的脚本。然而,这个脚本中的os.getcwd()正在返回我的C驱动器上的目录 我能做些什么来获得我的F驱动器的工作目录吗?我相信你正在阅读的那一节的文字写得很糟糕。python会话只有一个当前工作目录,您可以从os.getcwd()获得它。您可以使用os.chdir(r'F:\')更改F驱动器的目录 该引号
os.getcwd()
时,这给我带来了一些麻烦
我在C驱动器上使用Python 2.7调用位于共享网络驱动器F:上的脚本。然而,这个脚本中的os.getcwd()
正在返回我的C驱动器上的目录
我能做些什么来获得我的F驱动器的工作目录吗?我相信你正在阅读的那一节的文字写得很糟糕。python会话只有一个当前工作目录,您可以从
os.getcwd()
获得它。您可以使用os.chdir(r'F:\')
更改F驱动器的目录
该引号引用的部分与
os.path.join
方法有关。这意味着传递第一个参数'C:'
而不是r'C:\'
,将得到不正确的路径(即C:path
而不是C:\\path
)。这实际上是不正确的。每个进程都有一个工作目录。不同的驱动器没有单独的工作目录
从历史的角度来看,请阅读陈雷蒙的这篇文章。事实上,这取决于:
如果直接启动Python(而不是通过cmd.exe),那么是的,您只有一个当前目录(就像总是指定cd/d…):
但是,如果从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:\\'
毫无疑问,这是cmd.exe在幕后进行操作的产物
不过,要回答您最初的问题,找到驱动器f:上当前目录的唯一方法是
- 1) 从cmd.exe启动Python
- 2) 将os.chdir()改为“f:”
- 3) os.getcwd()
- 4) 返回os.chdir()(如果需要)
>>> 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:\\'