在阅读了os.path.join()方法的在线文档之后,以下情况似乎应该符合条件,但显然它没有.我是否正确阅读了该文档?
>>> import os
>>>
>>> os.path.join("/home/user", "/projects/pyproject", "mycode.py")
>>> '/projects/pyproject/mycode.py'
Run Code Online (Sandbox Code Playgroud)
在第一个和第二个路径上尝试尾随和前导os.sep的不同组合后,似乎第二个连接路径的第一个字符不能以os.sep开头.
>>> os.path.join("/home/user", "projects/pyproject", "mycode.py")
>>> '/home/user/projects/pyproject/mycode.py'
Run Code Online (Sandbox Code Playgroud)
例如,在path1和path2是来自用户输入的部分的情况下,意味着编写代码来解析它们对该领先的os.sep的输入.
从python.org在线参考:
os.path.join(path1[, path2[, ...]])智能地加入一个或多个路径组件.如果任何组件是绝对路径,则所有以前的组件(在Windows上,包括之前的驱动器号,如果有的话)都将被丢弃,并继续加入.返回值是串联path1和(可选path2)等,在os.sep除了最后一个之外的每个非空部分之后只有一个目录separator().(这意味着空的最后一个部分将导致以分隔符结束的路径.)请注意,在Windows上,由于每个驱动器都有一个当前目录,因此os.path.join("c:", "foo")表示相对于driveC:(c:foo)上当前目录的路径,而不是c:\foo.
python ×1