[Python] Gestione file
Daniele Varrazzo
piro a develer.com
Lun 19 Mar 2007 16:12:27 CET
> Ho fatto il seguente script in python per la rilevazione delle periferiche
> BT:
>
[...]
> Volevo avere un consiglio riguardo la struttura del codice dai voi guru del
> linguaggio in quanto sono 3 giorni che ho iniziato ad usarlo. Pongo ora due
> quesiti, dal promt di MS-DOS l'applicazione funziona, mi crea un file in
> "BluetoothCache\BluetoothDiscoverReport.ini". Avviandolo da un altro
> programma in VB6 mi dice invece che non riesce a creare INIFile. Ora volevo
> sapere, dipende dal fatto che ho usato \ al posto di / ?
Di sicuro questo è un errore. ti ha funzionato solo perché \B non è magico
quanto \n o \t. Puoi usare:
# i / funzionano anche sotto Windows
_reportfilename="BluetoothCache/BluetoothDiscoverReport.ini"
# usa gli escape... ma copiaeincolla diventano difficili
_reportfilename="BluetoothCache\\BluetoothDiscoverReport.ini"
# usa le raw string, ma ogni tanto rischi di dimenticarne una
_reportfilename=r"BluetoothCache\BluetoothDiscoverReport.ini"
# Questa è la soluzione più portabile
_reportfilename=os.path.join("BluetoothCache", "BluetoothDiscoverReport.ini")
> Oppure devo creare
> un percorso completo in quanto essendo lo script avviato da una posizione
> diversa rispetto a quella in cui é salvato non trova la cartella
> "BluetoothCache" e mi da un errore.
Questo è probabilmente il vero motivo per cui hai l'errore.
> In questo secondo caso come faccio a
> sapere da che posizione viene avviato uno script ?
os.getcwd().
> Ah Dimenticavo, lo script é compilato con Py2exe
Non credo sia un problema par os.getcwd(): il concetto di posizione corrente
esiste sempre.
Ciao!
--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
Maggiori informazioni sulla lista
Python