【问题标题】:How can I change drives using python os?如何使用 python os 更改驱动器?
【发布时间】:2012-06-18 21:52:48
【问题描述】:

我正在尝试将当前目录从 C: 更改为 Y: 我试过了:

import os
os.chdir('Y:')

但我不断收到错误消息,提示找不到驱动器。 基本上我正在寻找相当于

cd /d

cmd中的命令。

【问题讨论】:

  • 您意识到“将当前目录从 C: 更改为 Y:”实际上在 Windows 中没有任何意义?有一个当前的默认驱动器,每个驱动器都有一个单独的当前目录。因此,您可以将当前驱动器更改为 Y:,或者您可以将当前驱动器更改为 Y: 并将其上的目录更改为 \,但这些是不同的操作。 (在 C API 级别是 _chdrive(25) 与 _chdir("Y:\\"),在 Python 中可能类似,除了 chdrive 可能在 os 中不存在,您必须转到 msvcrt,甚至ctypes 实际的 MSVCRT DLL。)
  • 我意识到我与 Y: 的连接以某种方式中断了,但是一旦我解决了这个问题,chdir('Y:') 就可以正常工作了。无论如何感谢您的帮助。

标签: python windows chdir


【解决方案1】:

如果您正在执行 (Drive:path\to\folder),请尝试将斜杠切换为 (Drive:path/to/folder)

【讨论】:

  • 这没有回答问题。 OP 要求更改驱动器而不是文件夹。
【解决方案2】:

如果这是一个映射的网络驱动器,最好的办法是使用 UNC 路径而不是映射路径。另外,如果您不使用os.path.join,请在Windows 下使用路径时尝试使用原始r 字符串修饰符。

import os
print os.getcwd()
os.chdir(r'\\server\path') 
print os.getcwd()

【讨论】:

    【解决方案3】:

    您确定Y: 真的是有效的驱动器号吗?

    尝试os.chdir('C:') 并确保它有效。 (它对我有用。)

    【讨论】:

    • 我有一个 Y: 驱动器,我可以使用 "cd /d Y:" 访问它
    • @aensm:即使os.chdir('Y:') 有效,它的作用也与“cd /d Y:”不同。请参阅@abarnert 的评论。
    • 我的猜测是 Y: 不是驱动器,而 Y:\ 是。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-19
    相关资源
    最近更新 更多