12.1.3 连接
除了解析URL,urlparse还包括一个urljoin()方法,可以由相对片段构造绝对URL。
from urllib.parse import urljoin
print(urljoin('http://www.example.com/path/file.html',
'anotherfile.html'))
print(urljoin('http://www.example.com/path/file.html',
'../anotherfile.html'))
在这个例子中,计算第二个URL时要考虑路径的相对部分("…/")。
运行结果:
非相对路径的处理与os.path.join()的处理方式相同。
from urllib.parse import urljoin
print(urljoin('http://www.example.com/path/',
'/subpath/file.html'))
print(urljoin('http://www.example.com/path/',
'subpath/file.html'))
如果连接到URL的路径以一个斜线开头(/),那么urljoin()会把URL的路径重置为顶级路径。如果不是以一个斜线开头,那么新路径值则追加到URL当前路径的末尾。
运行结果: