1 python
在阅读了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.
我是否正确阅读了该文档?
再试一次,强调我的:
智能地加入一个或多个路径组件.如果任何组件是绝对路径,则所有以前的组件(在Windows上,包括之前的驱动器号,如果有的话) 都将被丢弃,并继续加入.返回值是path1和可选的path2等的串联,在除了最后一个之外的每个非空部分之后只有一个目录分隔符(os.sep).(这意味着空的最后一部分将导致以分隔符结尾的路径.)请注意,在Windows上,因为每个驱动器都有一个当前目录,所以os.path.join("c:","foo")表示相对于驱动器C上的当前目录的路径:(c:foo),而不是c:\ foo.
当它说"之前的组件被丢弃"意味着它们被忽略并且不包括在最终结果中.
| 归档时间: |
|
| 查看次数: |
925 次 |
| 最近记录: |