Python os.path.join()的一点理解

os.path.join()的用途是路径拼接,但是在网上查的资料说的不甚明了,我自己做了一些实验,如有错误,还请大神指正。

环境: Linux终端

测试语句

print(os.path.join('aaaa','bbbb','cccc-cleend'))

测试思路,在a ,b , c 前 分别加 ’ \ ’ 测试运行结果。

结果如下:

In [240]: print(os.path.join('/aaaa','bbbb','cccc-cleend'))
/aaaa/bbbb/cccc-cleend

In [241]: print(os.path.join('/aaaa','/bbbb','cccc-cleend'))
/bbbb/cccc-cleend

In [242]: print(os.path.join('/aaaa','/bbbb','/cccc-cleend'))
/cccc-cleend

In [243]: print(os.path.join('/aaaa','bbbb','/cccc-cleend'))
/cccc-cleend

In [244]: print(os.path.join('aaaa','bbbb','cccc-cleend'))
aaaa/bbbb/cccc-cleend

In [245]: print(os.path.join('aaaa','/bbbb','cccc-cleend'))
/bbbb/cccc-cleend

In [246]: print(os.path.join('aaaa','/bbbb','./cccc-cleend'))
/bbbb/./cccc-cleend

In [247]: print(os.path.join('/aaaa','./bbbb','/cccc-cleend'))
/cccc-cleend

In [248]: print(os.path.join('/aaaa','./bbbb','cccc-cleend'))
/aaaa/./bbbb/cccc-cleend

个人总结:
1.该方法会从最后一个字符串开始向前寻找,直到找到以’ / ’ 开头的字符串,并将他们拼接起来;
2.如果没有以‘ / ‘开头的字符串,就把所有的字符串拼接起来(最前方不会出现’/’);
3.如果遇到‘ ./ ’ ,会把’ ./ ‘前面的字符一起拼接起来。
4. ’ / ’ 的优先级高于’ ./ ’ 。

如有错误,还请不吝赐教。

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值