>>> import os
>>> os.chdir('c:/python27')
>>> os.listdir('c:')
['Tools', 'include', 'python.exe', 'libs', 'DLLs', 'Lib', 'NEWS.txt',
'w9xpopen.exe', 'Doc', 'pythonw.exe', 'LICENSE.txt', 'README.txt', 'tcl']
>>> os.listdir('c:/')
['users', 'Program Files', 'Python27', 'windows']
为什么“ c:”后的“ /”会影响结果?有没有办法让os.listdir('c:')
返回“ c:/”的内容?
这不是特定于Python的,它是Windows的核心问题。
在Windows中,C:
和C:\
(或C:/
)的含义完全不同:
C:
引用驱动器C:
上的当前目录C:\
(和C:/
)指的是驱动器C:
]的根目录>虽然类UNIX操作系统仅具有一个“当前目录”,但Windows具有两个独立的概念:
因此,当前驱动器可能是D:
,C:
上的当前目录可能是\Windows
(有效为C:\Windows
),而D:
上的当前目录可能是\Data
(有效为D:\Data
)。在这种情况下,解析将像这样工作:
.
指的是D:\Data
\
指的是D:\
C:
指的是C:\Windows
C:\Foo
指的是C:\Foo
因此,如果要获取有关特定
C:\
。C:使用C:驱动器上的当前工作目录。