내가 한 두 개의 URL :절대 및 상대 URL을 결합하는 방법은 무엇입니까?
내가 URL2의 절대 URL을 얻을 수있는 방법url1 = "http://127.0.0.1/test1/test2/test3/test5.xml"
url2 = "../../test4/test6.xml"
?
내가 한 두 개의 URL :절대 및 상대 URL을 결합하는 방법은 무엇입니까?
내가 URL2의 절대 URL을 얻을 수있는 방법url1 = "http://127.0.0.1/test1/test2/test3/test5.xml"
url2 = "../../test4/test6.xml"
?
당신은 urlparse.urljoin를 사용해야합니다
>>> import urlparse
>>> urlparse.urljoin(url1, url2)
'http://127.0.0.1/test1/test4/test6.xml'
를 파이썬 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'
3 또는 모드 매개 변수와 함께 'urljoin'을 사용하는 방법 또는 어떤 라이브러리를 권장합니까? –
@mesuutt 루프를 만들고 각 부분을 이전에 조인 한 URL과 조인 해보십시오. –
@ CédricJulien : 선행'/'이있는 경로가 "재설정"되고 반환 구성표가 + netloc + lasturl 인 간단한 루프가 작동하지 않습니다. urlparse.urljoin ('http://www.a.com/b/ c/d ','/ e ') =>'http : // www.a.com/e ' – MestreLion
>>> from urlparse import urljoin
>>> url1 = "http://www.youtube.com/user/khanacademy"
>>> url2 = "/user/khanacademy"
>>> urljoin(url1, url2)
'http://www.youtube.com/user/khanacademy'
간단한.
es = ['http://127.0.0.1', 'test1', 'test4', 'test6.xml']
base = ''
map(lambda e: urlparse.urljoin(base, e), es)
의
가능한 중복 (http://stackoverflow.com/questions/1793261/how-to-join-components-of-a [파이썬에 URL을 구축하는 경로의 구성 요소를 결합하는 방법] -path-you-you-are-python을 생성하는 URL) –
관련 항목 : [URL 경로 구성 요소를 지능적으로 결합] (http://codereview.stackexchange.com/questions/13027/joining-url-path- components- 지능적으로) – kojiro