2010-10-28 23 views

Répondre

48

essayer d'utiliser url='file:///path/to/file'

+0

C'est la bonne réponse. – jathanism

+5

Je devais ajouter un slash supplémentaire, merci pour la réponse. –

+8

Pour ajouter au commentaire de Thierry, il faut aussi qu'il soit un chemin absolu. (par exemple, fichier: ///home/admin/service.xml) – trinth

12

Sur la base des commentaires dans la réponse acceptée et la réponse suivante: https://stackoverflow.com/a/14298190/622276

# Python 2 
import urlparse, urllib, os 

url = urlparse.urljoin('file:', urllib.pathname2url(os.path.abspath("service.xml"))) 

Ceci est un plus complet d'une doublure qui:

  • vous permet de spécifier seulement le chemin local,
  • vous obtenez le chemin absolu,
  • puis formatez-le en tant qu'URL de fichier.

Edit: 2017-07-03 Merci à l'utilisateur Sebastian la mise en œuvre Python 3 mis à jour pour toute personne qui trouve le code ci-dessus en date.

# Python 3 
import urllib, os 
url = urllib.parse.urljoin('file:', urllib.request.pathname2url(os.path.abspath("service.xml"))) 
+1

Si quelqu'un utilise python3, les noms ont changé: 'import urllib, os' ' url = urllib.parse.urljoin ('fichier:' , urllib.request.pathname2url (os.path.abspath ("service.xml"))) ' – Sebastian