我试图获得绝对路径但我没有得到正确的结果。我正在尝试:
鉴于我有这个html页面网址:
url1 = 'build/en/index.html'
我在文件中有这个相对路径:
url2 = '/pub-assets/css/indexen.css'
我正在做:
urljoin(url1, url2)
所以我应该 build / pub-assets / css / indexen.css
但我没有得到预期的结果。 任何建议都非常感激。
答案 0 :(得分:0)
如果您的url1
是文件(而不是目录),则应使用urlparse
和ParseResult._replace
修改路径以修改结果。
from urlparse import urlsplit
url1 = 'https://example.com/en/index.html'
url2 = 'pub-assets/css/indexen.css'
p = urlsplit(url1).path
new_path = p[:p.rfind('/') + 1] + url2 #Gets the last directory and appends url
joined = urlsplit(url1)._replace(path=new_path)
print joined.geturl() #Outputs https://example.com/en/pub-assets/css/indexen.css
这假设url1
是绝对路径而url2
是相对路径。
答案 1 :(得分:0)
Python 3.6.1:
>>> u1 = 'https://example.com/en/index.html'
>>> u2 = 'pub-assets/css/indexen.css'
>>> import urllib.parse
>>> urllib.parse.urljoin(u1, u2)
'https://example.com/en/pub-assets/css/indexen.css'
Python 2.7.14:
>>> u1 = 'https://example.com/en/index.html'
>>> u2 = 'pub-assets/css/indexen.css'
>>> import urlparse
>>> urlparse.urljoin(u1, u2)
'https://example.com/en/pub-assets/css/indexen.css'
请注意更改的导入。我会仔细检查你的Python版本,import语句,或者发布更多你的程序。