为什么 os.path.normpath 不删除第一个 //?
why os.path.normpath does not remove the firsts //?
为什么第一个 //
没有被删除?
以下代码:
import os
os.path.normpath('//var//lib/')
returns
'//var/lib'
没有
'/var/lib'
定义如下:
normpath(path)
'''Normalize path, eliminating double slashes, etc.'''
因为 Windows,存在 python 保留的路径歧义。
//var/whatever
可以引用安装为名称 //var
的驱动器
或
/var/whatever
可以引用本地驱动器目录。
如果 python 折叠前导双斜杠,您可能会在不知不觉中更改路径以引用不同的位置。
另一种说法是,//var
和 /var
是根本不同的路径,python 以不同的方式对待它们。您可能应该更改测试用例以反映这一点。
为什么第一个 //
没有被删除?
以下代码:
import os
os.path.normpath('//var//lib/')
returns
'//var/lib'
没有
'/var/lib'
定义如下:
normpath(path)
'''Normalize path, eliminating double slashes, etc.'''
因为 Windows,存在 python 保留的路径歧义。
//var/whatever
可以引用安装为名称 //var
或
/var/whatever
可以引用本地驱动器目录。
如果 python 折叠前导双斜杠,您可能会在不知不觉中更改路径以引用不同的位置。
另一种说法是,//var
和 /var
是根本不同的路径,python 以不同的方式对待它们。您可能应该更改测试用例以反映这一点。