Я пытаюсь присоединиться к этим двум URI
from urllib.parse import urljoin # baskslash is not a mistake r = urljoin(r"https:/\\corrlinks.blob.core.windows.net", r"videofaq") print(r)
Я получаю
https:///videofaq
Как я могу получить
https:/\\corrlinks.blob.core.windows.net/videofaq
Это будет нормально тоже:
https://corrlinks.blob.core.windows.net/videofaq
Примечание. Браузеры обрабатывают ссылку выше просто отлично.
Функция интерпретирует sla sh как baseurl, поэтому вам нужно добавить еще один в конце, чтобы научить его:
urljoin(r"https:/\\corrlinks.blob.core.windows.net/", "videofaq")
Я закончил с
url = url.replace("\\" , "/").replace("///", "//")
python рассматривает backsla sh (\) как escape-символ.
использование r'string 'много раз полезно. r просто означает необработанную строку. Это полезно, когда мы хотим иметь строку, содержащую backsla sh, и не хотим, чтобы она рассматривалась как escape-символ. В этом случае
from urllib.parse import urljoin r = urljoin(r"https://corrlinks.blob.core.windows.net", "videofaq") print(r) # returns https://corrlinks.blob.core.windows.net/videofaq
Это должно сделать работу.