[Python] stringhe raw
Daniele Varrazzo
piro a develer.com
Sab 8 Gen 2011 10:24:44 CET
On Sat, 08 Jan 2011 08:22:31 +0100, Vito 'ZeD' De Tullio
<zak.mc.kraken a libero.it> wrote:
> Nicola Larosa wrote:
>
>>> i path hardcoded ('\\' è veramente orripilante da scrivere).
>> Tenendo anche presente che indicare il separatore di percorso su
Windows
>> come r'\' non è portabile, mentre usare os.sep lo è.
>
> vero ma:
>
> os.sep.join("C:", "Documents and Settings", "Default User")
>
> non si può considerare più portabile di
>
> r'C:\Documents and Settings\Default User'
Forse si riferivano a un più generico
os.sep.join([base_path, some_prefix, some_other_crap, filename])
non necessariamente ad un path costante in ogni elemento.
> Ovviamente la soluzione vera è *non* usare path hardcoded, e - se
> possibile
> - relegarli a file di configurazione o simili.
Quindi te li ritrovi in variabili, magari la base_path a cui devi
concatenare un nome di file. Il modo "portabile" di concatenare file con
os.sep o (meglio) os.path.join si applica anche alle variabili, non solo
alle costanti.
In ogni caso quello che hanno omesso tutti di specificare è che i forward
slash ("/") funzionano anche su windows. "C:/autoexec.bat" viene gestito
correttamente dalle fuzioni python (non se va passato a tool esterni
ovviamente).
--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
Maggiori informazioni sulla lista
Python