为什么“C:”不代表我认为的含义?

时间:2013-09-08 01:03:18

标签: python windows path directory getcwd

在Windows 7上,我启动了我的IDLE Python 2.7.5 Shell:

>>> import os
>>> os.getcwd()
'C:\\Python27'
>>> os.path.relpath('C:\\')
'..'
>>> os.path.relpath('C:')
'.'
>>> os.chdir('C:')
>>> os.getcwd()
'C:\\Python27'

发生了什么,为什么它必须这么复杂?

2 个答案:

答案 0 :(得分:1)

您不是要更改为实际文件夹,而是“c:”,正确的命令将是

import os 
os.chdir('c:\\')

它会正常工作。双反斜杠的原因是为了逃避反斜杠(用作转义字符)。

答案 1 :(得分:1)

在Windows上,行为可能有点奇怪 - 如果从cmd.exe启动Python或者直接启动它(不通过cmd.exe),它的行为会有所不同。正如已经指出的那样,正确的命令是os.chdir('c:\\')this answer提供了更多详细信息。