如何使用Python的os模块更改驱动器?

9

我试图将当前目录从C:更改到Y:,我尝试了:

import os
os.chdir('Y:')

但是我一直收到一个错误,说它无法找到驱动器。 实际上我正在寻找与之相当的东西

cd /d

在命令提示符中执行的命令。


4
你知道在Windows中,“将当前目录从C:更改为Y:”实际上并没有什么意义吗?每个驱动器都有一个当前默认驱动器和一个单独的当前目录。因此,你可以将当前驱动器更改为Y:,或者你可以将当前驱动器更改为Y:并将其目录更改为\,但这些是不同的操作。(在C API级别上,它是_chdrive(25)与_chdir(“Y:\”),在Python中也可能类似,只是chdrive可能不存在于os中,你需要到msvcrt甚至ctypes实际的MSVCRT DLL。) - abarnert
我意识到我的与 Y: 的连接在某种程度上已经中断,但是一旦我解决了这个问题,chdir('Y:') 就可以正常工作了。无论如何,感谢您的帮助。 - aensm
3个回答

12

你确定 Y: 是一个有效的驱动器号吗?

尝试 os.chdir('C:') 并确保它可以正常工作。(对我而言是有效的。)


我有一个Y盘,并且我已经能够使用“cd /d Y:”访问它。 - aensm
1
即使 os.chdir('Y:') 起作用了,它也不能像 "cd /d Y:" 一样工作。请参见 @abarnert 的评论。 - martineau
1
我的猜测是Y:不是一个驱动器,而Y:\是。 - ModdyFire

3
如果这是一个映射网络驱动器,最好使用UNC路径而不是已映射的路径。另外,在使用Windows下的路径时,如果您不使用os.path.join,请尝试使用原始的r字符串修饰符。
import os
print os.getcwd()
os.chdir(r'\\server\path') 
print os.getcwd()

-1

如果你正在使用 (Drive:path\to\folder) 的路径,请尝试将反斜杠替换为正斜杠 (Drive:path/to/folder)


1
这并没有回答问题。OP正在询问如何更改驱动器而不是文件夹。 - funie200

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接