2024-04-26 22:39:43 发布
网友
我有两个网址:
url1 = "http://127.0.0.1/test1/test2/test3/test5.xml" url2 = "../../test4/test6.xml"
如何获取url2的绝对url?
您应该使用urlparse.urljoin:
>>> import urlparse >>> urlparse.urljoin(url1, url2) 'http://127.0.0.1/test1/test4/test6.xml'
使用Python 3(其中urlparse is renamed to urllib.parse)可以use it as follow:
>>> import urllib.parse >>> urllib.parse.urljoin(url1, url2) 'http://127.0.0.1/test1/test4/test6.xml'
如果相对路径由多个部分组成,则必须单独连接它们,因为urljoin将替换相对路径,而不是连接它。最简单的方法是使用posixpath。
urljoin
posixpath
>>> import urllib.parse >>> import posixpath >>> url1 = "http://127.0.0.1" >>> url2 = "test1" >>> url3 = "test2" >>> url4 = "test3" >>> url5 = "test5.xml" >>> url_path = posixpath.join(url2, url3, url4, url5) >>> urllib.parse.urljoin(url1, url_path) 'http://127.0.0.1/test1/test2/test3/test5.xml'
另请参见:How to join components of a path when you are constructing a URL in Python
es = ['http://127.0.0.1', 'test1', 'test4', 'test6.xml'] base = '' map(lambda e: urlparse.urljoin(base, e), es)
您应该使用urlparse.urljoin:
使用Python 3(其中urlparse is renamed to urllib.parse)可以use it as follow:
如果相对路径由多个部分组成,则必须单独连接它们,因为
urljoin
将替换相对路径,而不是连接它。最简单的方法是使用posixpath
。另请参见:How to join components of a path when you are constructing a URL in Python
相关问题 更多 >
编程相关推荐