我一直在认真使用os.path.sep而不是文字'/'。因此,我很惊讶今天查看os.path.join的源代码并使用文字查看它。
我认为在Windows平台上,一些较低级别的库例程在使用OS函数调用文件系统或其他“/”时将'/'转换为'\'。
在不损害Windows可移植性的情况下使用文字是否安全?
def join(a, *p):
path = a
for b in p:
if b.startswith('/'):
path = b
elif path == '' or path.endswith('/'):
path += b
else:
path += '/' + b
return path
答案 0 :(得分:1)
Python为不同的操作系统提供了不同的来源。您可以查看文件macpath.py,ntpath.py和posixpath.py,为相应的平台实现连接功能。每个文件定义sep变量以指示相应平台的分离符号。我想说进一步使用os.path.sep是安全的,否则代码将与其他操作系统不兼容。