Python: путаницы с urljoin

Я пытаюсь сформировать URL-адреса из разных частей и не понимаю понимания поведения этого метода. Например:

Python 3.x

from urllib.parse import urljoin >>> urljoin('some', 'thing') 'thing' >>> urljoin('http://some', 'thing') 'http://some/thing' >>> urljoin('http://some/more', 'thing') 'http://some/thing' >>> urljoin('http://some/more/', 'thing') # just a tad / after 'more' 'http://some/more/thing' urljoin('http://some/more/', '/thing') 'http://some/thing' 

Можете ли вы объяснить точное поведение этого метода?

  • Как сделать строку unicode с python3
  • Печать серии фибоначчи
  • Как Анаконда связана с Python?
  • Вычтите значение из каждого числа в списке в Python?
  • IDLE не может импортировать Tkinter. Ваш Python не может быть настроен для Tk
  • Как в Python проверить, имеют ли два файла (String и файл) одинаковый контент?
  • Не удается определить, как работает String Substitution в Python 3.x
  • Преобразование csv-файла в словарь
  • One Solution collect form web for “Python: путаницы с urljoin”

    Лучший способ (для меня) подумать об этом – это первый аргумент, base похожа на страницу, на которой вы находитесь в своем браузере. Второй аргумент url – это href привязки на этой странице. Результатом является окончательный URL-адрес, к которому вы будете направлены, если вы нажмете.

     >>> urljoin('some', 'thing') 'thing' 

    Это имеет смысл дать мое описание. Хотя можно надеяться, что база включает в себя схему и домен.

     >>> urljoin('http://some', 'thing') 'http://some/thing' 

    Если вы находитесь на каком-то vhost, и есть якорь, например <a href='thing'>Foo</a> ссылка свяжет вас с http://some/thing

     >>> urljoin('http://some/more', 'thing') 'http://some/thing' 

    Мы находимся на some/more здесь, поэтому относительная связь thing приведет нас к /some/thing

     >>> urljoin('http://some/more/', 'thing') # just a tad / after 'more' 'http://some/more/thing' 

    Здесь мы не находимся ни на some/more ни на some/more , а на другом. Теперь наша относительная связь приведет нас к тому some/more/thing

     >>> urljoin('http://some/more/', '/thing') 'http://some/thing' 

    И наконец. Если на some/more/ и href на /thing , вы будете связаны с some/thing .

    Python - лучший язык программирования в мире.