为什么os.path.normpath不删除第一个//?

时间:2018-09-10 14:44:12

标签: python os.path

为什么不删除第一个//

以下代码:

import os
os.path.normpath('//var//lib/')

返回

'//var/lib'

不是

'/var/lib'

在这里定义:

normpath(path)
    '''Normalize path, eliminating double slashes, etc.'''

1 个答案:

答案 0 :(得分:3)

由于在Windows上,python保留了路径歧义。

//var/whatever可以引用安装为名称//var

的驱动器

OR

/var/whatever可以引用本地驱动器目录。

如果python折叠前导双斜杠,您可能会在不知不觉中更改路径以引用其他位置。

另一种说法是//var/var是根本不同的路径,而python对待它们的方式也有所不同。您可能应该更改测试用例以反映这一点。