Convertir une URL absolue en URL relative en Python

Même lorsqu'il est préférable d'écrire des liens, etc. avec des chemins relatifs, par exemple lors du téléchargement de l'environnement de développement vers le serveur de production.

La fonction qui trouve le chemin relatif du fichier ou du répertoire de départ est-elle comme ça?

import sys, os
from urlparse import urlparse, urlunparse

def relurl(absolute, origin):
    a = urlparse(absolute)
    o = urlparse(origin)

    #Lorsque le domaine est différent, il est difficile de penser à un chemin relatif, alors renvoyez-le tel quel
    if a.netloc != o.netloc:
        return absolute

    relative = os.path.relpath(a.path, os.path.dirname(o.path))
    return urlunparse(('','',relative) + a[3:])

def main():
    params = sys.argv
    print relurl(params[1], params[2])

if __name__ == '__main__':
    main()

Recommended Posts

Convertir une URL absolue en URL relative en Python
Convertir Markdown en PDF en Python
Python> Liste> Convertir les chemins relatifs en chemins absolus> all_filepaths = [database_path + fp for fp in train_filepaths]
Convertir un fichier psd en png en Python
Convertir de Markdown en HTML en Python
Convertissez des PDF en images en masse avec Python
Convertir un float exponentiel en str en Python
Convertir le code de maillage cubique en WKT en Python
Convertir la date et l'heure zonées en temps Unixtime dans Python2.7
Comment convertir / restaurer une chaîne avec [] en python
Pour vider stdout en Python
Convertir numpy int64 en python int
[Python] Convertir la liste en Pandas [Pandas]
Convertir le tableau NumPy "ndarray" en lilt en Python [tolist ()]
Convertir le masque de réseau de notation CIDR en notation décimale à points en Python
Connectez-vous au site Web en Python
Comment convertir des nombres à virgule flottante en nombres binaires en Python
Convertissez l'image au format .zip en PDF avec Python
Convertir le projet Scratch en Python
[Python] Convertir Shift_JIS en UTF-8
Convertir la notation CIDR en Python
Parler avec Python [synthèse vocale]
Convertir / renvoyer des objets de classe au format JSON en Python
[Python] Création d'une méthode pour convertir la base en 1 seconde
Traitement des URL relatives en python
Convertir le code python 3.x en python 2.x
Publier sur Slack en Python
Une histoire sur la façon de spécifier un chemin relatif en python.
Convertir l'image passée à Jason Stay Samlike en Python en ASCII Art
Convertir un fichier Excel en texte en Python à des fins de comparaison
[Python] Comment faire PCA avec Python
Comment collecter des images en Python
Comment utiliser SQLite en Python
Workflow pour convertir une formule (image) en python
Convertir la liste en DataFrame avec python
Essayez de calculer Trace en Python
Comment convertir 0,5 en 1056964608 en un seul coup
Python> liste> Convertir une double liste en une seule liste
Comment utiliser Mysql avec python
Comment envelopper C en Python
Comment utiliser ChemSpider en Python
6 façons d'enchaîner des objets en Python
Comment utiliser PubChem avec Python
[Python] Convertit les nombres naturels en nombres ordinaux
Convertir décimal en n-aire [python]
Une alternative à `pause` en Python
Déterminez le format de la date et de l'heure avec Python et convertissez-le en Unixtime
[GCP] Comment publier une URL signée Cloud Storage (URL temporaire) en Python
Convertir des fichiers écrits en python, etc. en pdf avec la coloration syntaxique
Lisez le binaire big endian en Python et convertissez-le en ndarray
[Introduction à Udemy Python3 + Application] 69. Importation du chemin absolu et du chemin relatif
[Python] Comment convertir un fichier db en csv
[Introduction à Python] Comment utiliser la classe en Python?
Convertir un mémo à la fois avec Python 2to3
Installez Pyaudio pour lire des vagues en python
Générer une URL signée AWS-S3 (limitée dans le temps) en Python
J'ai essayé d'implémenter la permutation en Python
Méthode pour créer un environnement Python dans Xcode 6
Convertir Python> séquence de deux valeurs en dictionnaire
Comment définir dynamiquement des variables en Python