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