为了账号安全,请及时绑定邮箱和手机立即绑定

os.path.join() 与 UNC 路径的行为是什么?

os.path.join() 与 UNC 路径的行为是什么?

largeQ 2021-06-02 17:45:07
有人可以解释加入路径的规则吗,我对这些结果感到困惑:print(os.path.join('\\\\192.168.1.1\\A\\B', 'C\\D', '\\E')) #\\192.168.1.1\A\E, B,C,D are thrown awayprint(os.path.join('\\\\192.168.1.1\\', 'C\\D', '\\E')) #\\192.168.1.1\\E, C, D are thrown awayprint(os.path.join('\\\\192.168.1.1', 'C\\D', '\\E')) #\E, \\192.168.1.1 is thrown awayprint(os.path.join('C:\\A\\B', 'C\\D', '\\E')) #C:\E, A, B, C, D are thrown away
查看完整描述

2 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

来自[Python 3]:os.path。加入路径,*路径

...
如果组件是绝对路径,则所有先前的组件都将被丢弃,并从绝对路径组件继续连接。

在 Windows 上,r'\foo'遇到绝对路径组件(例如)时不会重置驱动器号。如果一个组件包含驱动器号,则所有以前的组件都将被丢弃并重置驱动器号。请注意,由于每个驱动器都有一个当前目录,因此os.path.join("c:", "foo")表示相对于 drive 上当前目录的路径C: (c:foo),而不是c:\foo.

因此(在os.path.join())中,最后一个绝对路径(并且UNC路径绝对路径)会丢弃它之前的任何其他路径。


查看完整回答
反对 回复 2021-06-16
  • 2 回答
  • 0 关注
  • 209 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号