Il existe une classe très utile appelée os.path en python, mais lors de la combinaison de chemins absolus et relatifs,
# abs_path = "/usr/hoge/", rel_path = "./poyo/"
path.normpath(path.join(abs_path, rel_path))
# "/usr/hoge/poyo"
Je le fais souvent. Je pensais que cela pouvait être utilisé avec l'URL,
# abs_path = "http://hoge/", rel_path = "./poyo/"
path.normpath(path.join(abs_url, rel_url)
# "http:/hoge/poyo/"
J'étais en colère de ne pas pouvoir ouvrir l'URL. J'étais un peu inquiet à ce sujet, mais la raison était simple: l'url "http: // hoge /" était convertie en "http: / hoge" dans path.normpath. Puisque path est une classe pour le chemin du système de fichiers, il avait une telle spécification. Il semble que la méthode urljoin de la classe urlparse soit utilisée pour joindre des URL.
# abs_path = "http://hoge/", rel_path = "./poyo/"
urlparse.urljoin(abs_url, rel_url)
# "http://hoge/poyo/"
Recommended Posts