有人可以解释加入路径的规则吗,我对这些结果感到困惑: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路径是绝对路径)会丢弃它之前的任何其他路径。
添加回答
举报
0/150
提交
取消