2010-10-28 5 views

risposta

48

tenta di utilizzare url='file:///path/to/file'

+0

Questa è la risposta corretta. – jathanism

+5

Ho dovuto aggiungere una barra in più, grazie per la risposta. –

+8

Per aggiungere al commento di Thierry, deve anche essere un percorso assoluto. (ad esempio file: ///home/admin/service.xml) – trinth

12

Sulla base dei commenti nella risposta accettata e la seguente risposta: https://stackoverflow.com/a/14298190/622276

# Python 2 
import urlparse, urllib, os 

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

Si tratta di una più completa uno di linea che verrà:

  • Permetti di specificare solo il percorso locale,
  • ottenere il percorso assoluto,
  • e quindi formattarlo come file-url.

Edit: 2017-07-03 Grazie utente Sebastian la versione aggiornata di implementazione di Python 3 per tutti coloro che trova il codice di cui sopra datata.

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

Nel caso in cui qualcuno stia usando python3, i nomi sono cambiati: 'import urllib, os' ' url = urllib.parse.urljoin ('file:' , urllib.request.pathname2url (os.path.abspath ("service.xml"))) ' – Sebastian