[Python] os.path normalizzare path + file

Giacomo Alzetta giacomo.alzetta a gmail.com
Mer 29 Ago 2012 08:23:58 CEST


On Wednesday 29 August 2012 07:59:27 marcofoc a libero.it wrote:
> La mia domanda è di una banalità che mi vergogno a porla.
> E' da un po', però, che cerco la soluzione, e non la riesco a trovare.
> 
> Ho un file in un sistema Linux posizionato qui: /opt/marco/file.txt
> Lo stesso file, in un sistema windows, lo posizioni qui: "C:\opt\marco\file.
> txt"
> 
> Ho tentato con "os.path.join("/opt/marco/file.txt"), ma nel sistema windows
> non funziona. Funziona solo se metto la C: davanti, ma a quel punto non
> funziona più sotto Linux.
> 
> Qual'è il comando esatto per fare questa cosa?
> Grazie
> 
> Marco
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python

Stai usando os.path.join nel modo sbagliato.
Dovresti fare qualcosa come:

if sys.platform.startswith('win'):
    dir = 'C:'
else:
    dir = '/'
os.path.abspath(os.path.join(dir, "opt", "marco", "file.txt"))


Maggiori informazioni sulla lista Python