>> 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.
mmm... dietrofront. Tu vuoi sapere dove lo script è salvato, non da dove viene lanciato... Allora sì, mi pare che con py2exe c'è una rognetta. Nei normali moduli Python c'è la variabile __file__ che ti dice il nome del file, ma sotto py2exe questa variabile non è disponibile. Forse quando hai lo script sotto py2exe puoi leggere il nome dello script con sys.argv[0]. Di sicuro nel primo caso, ma forse anche nel secondo, la directory che leggi è relativa alla directory di esecuzione. Questo dovrebbe essere sufficiente, ma se vuoi il percorso assoluto dovrai fare una cosa tipo: os.path.abspath(os.path.join(os.path.getcwd(), percorso_relativo)) Per distinguere tra un caso e l'altro mi sembra si guardi sys.frozen, che dovrebbe essere presente solo quando sei sotto py2exe, quindi controlla: if getattr(sys, 'frozen', None) is None: # sei frozen: guarda sys.argv[0] else: # non sei frozen: guarda __file__ -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python