[Python] Leggere file in directory diversa
Se io metto uno script in /home/io/Desktop come faccio a leggere un file nella stessa cartella? Se avvio lo script senza essermi prima posizionato nella cartella dello script non riesce ad aprire file: ~$ python Desktop/script.py Traceback (most recent call last): File /home/io/Desktop/script.py, line 8, in script file = open(file,r) IOError: [Errno 2] No such file or directory: 'file' Se invece mi posiziono prima, legge il file correttamente: ~/Desktop$ python script.py Il file è nella stessa cartella di script.py ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Leggere file in directory diversa
Domande sciocca: - il file si chiama file senza estensione? Puoi cambiare directory con il modulo os: *dir_originaria=os.getcwd() os.chdir(nome_directory_dove_sta_il_file)* leggi il file *os.chdir(dir_originaria)* Il giorno 01 ottobre 2010 14:38, franco93it franco9...@gmail.com ha scritto: Se io metto uno script in /home/io/Desktop come faccio a leggere un file nella stessa cartella? Se avvio lo script senza essermi prima posizionato nella cartella dello script non riesce ad aprire file: ~$ python Desktop/script.py Traceback (most recent call last): File /home/io/Desktop/script.py, line 8, in script file = open(file,r) IOError: [Errno 2] No such file or directory: 'file' Se invece mi posiziono prima, legge il file correttamente: ~/Desktop$ python script.py Il file è nella stessa cartella di script.py ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Leggere file in directory diversa
Il giorno 01 ottobre 2010 14:38, franco93it franco9...@gmail.com ha scritto: Se io metto uno script in /home/io/Desktop come faccio a leggere un file nella stessa cartella? On Fri, 1 Oct 2010 14:42:44 +0200, Vittorio Zuccala' vittorio.zucc...@gmail.com wrote: Puoi cambiare directory con il modulo os: No, questo non si fa. Un programma deve avere un motivo serio per cambiare directory corrente, che non è altro che una variabile globale, usata da librerie che non si conoscono per cui cambiarla può avere effetti collaterali. Va specificato il percorso completo: open(/home/io/Desktop/file). Se la dir e il file sono in posti diversi possono essere cucite insieme con funzioni tipo os.path.join(). Se il file è nella stessa cartella dello script puoi usare la variabile __file__ per sapere il suo nome ed estrarre il percorso, per esempio os.path.join(os.path.dirname(__file__), file). Questa è una delle cose che smette di funzionare se si cambia il percorso corrente con os.chdir(). -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Leggere file in directory diversa
Il giorno 01 ottobre 2010 15:10, Daniele Varrazzo p...@develer.com ha scritto: Se il file è nella stessa cartella dello script puoi usare la variabile __file__ per sapere il suo nome ed estrarre il percorso, per esempio os.path.join(os.path.dirname(__file__), file). Questa è una delle cose che smette di funzionare se si cambia il percorso corrente con os.chdir(). Grazie mille Daniele, se al posto del nome metto il risultato di questa stringa funziona Ciao ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python