[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