【注】以下代码运行环境为IDLE(Python3.7)使用其它IDE(eclipse或pycharm)运行结果有所不同
1、当path1,path2,…,basename,中含有的分隔符“\”数【=0】,即为【纯字符串】时
path1 = 'E:'
path2 = '11'
path3 = '22'
basename = 'data.txt'
os.path.join(path1,path2,path3,basename)
返回结果为:
'E:\\11\\22\\33\\data.txt'
2、当path1,path2,…,basename中含有的分隔符“\”数【=1】时
x = r'E:\11\22\33'
y = 'data.txt'
os.path.join(x,y)
返回结果为:
'E:\\11\\22\\33\\data.txt'
3、os.path.join(path1,path2)在处理时,当path中【count('\')=1】,通过input()来输入,等价于【'r' + path1】,例如
x = input('请输入路径:')
>>请输入路径:11\22\33
os.path.join(x)
>>>'11\\22\\33'
即:x = r'11\22\33'
4、当path中有一个【\】,不在path前加【r】时,【\】为转义字符,例如
a='E:\11'
b='22\33'
os.path.join(a,b)
输入结果:
>>>'E:\t\\22\x1b'
5、当path1,path2,…,basename中含有的分隔符“\”数【>1】,路径前不加‘r’时,第一个【\】为转义字符
path1 = 'E:\\11\\22\\33'
basename = 'data.txt'
os.path.join(path1,basename)
返回结果为
'E:\\11\\22\\33\\data.txt'
6、 当path1,path2,…,basename中含有的分隔符“\”数【>1】,使用input()获取的路径相当于路径前加上‘r’
path1 = r'E:\\11\\22\\33'
basename = 'data.txt'
os.path.join(path1,basename)
path = input('请输入路径:')
>>>请输入路径:11\\22\\33
basename = 'data.txt'
os.path.join(path,basename)
返回结果为:
'E:\\\\11\\\\22\\\\33\\\\data.txt'