Gestire nomi e percorsi in Python.
I percorsi dei file con Python
Per lavorare con i percorsi in Python è necessario usare il modulo os.path.
Cosa è importante sapere?
La variable __file__
La variabile __file__ contiene il percorso del file che sta eseguendo in quel momento il codice Python.
Il percorso ottenuto non è assoluto ma relativo rispetto a dove viene lanciato lo script python.
Per esempio
1) creo un file esempio.py e lo salvo in questa posizione:
/Users/ale/script/esempio.py
2) all’interno del file scrivo questo codice:
print(\_\_file\_\_)
3) Salvo il file e vado nel terminale ed eseguo il seguente semplice comando:
python /script/esempio.py
4) L’output generato sarà il seguente:
/script/esempio.py
La variabile __file__ è una delle variabili speciali di python.
I 2 underscore precedenti alla parola file e successivi servono ad evitare che lo sviluppatore sovrascriva questi valori in maniera fortuita/casuale.
Come ottengo il percorso reale?
Con il metodo: os.path.realpath
Una volta ottenuto il nome del file è solitamente necessario ricostruire l’intero percorso.
Per poterlo ricostruire c’è il metodo os.path.realpath.
Esempio di utilizzo:
print(os.path.realpath(__file__))
Output:
/Users/ale/script/esempio.py
Come si vede l’output contiene l’intero percorso per arrivare al file.
Come ottengo il percorso della directory?
Con il metodo: os.path.dirname(percorso_del_file)
Ottenuto il nome del file, spesso c’è bisogno di conoscere la directory che contiene il file.
Per poterlo fare si può usare il metodo os.path.dirname().
Esempio di utilizzo:
percorso = "/directory/app.js"
print(os.path.dirname(percorso))
Output:
/directory/
Dall’esempio è chiaro dedurre il meccanismo di funzionamento del metodo.
Il metodo utilizzato su un percorso restituisce la directory che contiene il file.