Ottieni il percorso del file corrente in Python
-
Uso del modulo
pathlib
per ottenere il percorso dei file e la directory di lavoro corrente -
Usa il modulo
os
per ottenere il percorso dei file e la directory di lavoro corrente
In Python, possiamo lavorare con molti file e moduli e interagire costantemente con il file system. Per importare o esportare file, è necessario conoscere il percorso e la directory corretti di tali file; in caso contrario, vengono generati errori. È anche essenziale conoscere il percorso dello script Python attualmente in esecuzione o il percorso di qualche altro file.
La directory di lavoro corrente è la directory di Python in cui stiamo attualmente lavorando.
Questo tutorial introdurrà come ottenere il percorso completo e le directory del file corrente e la directory di lavoro corrente in Python.
Uso del modulo pathlib
per ottenere il percorso dei file e la directory di lavoro corrente
La libreria pathlib
è disponibile per Python 3.x e versioni successive e contiene classi e metodi per gestire i problemi relativi al percorso dei file.
Nel codice seguente, estrarremo il percorso di uno script Python utilizzando le funzioni fornite dal modulo pathlib
:
import pathlib
print(pathlib.Path(__file__).parent.absolute())
Produzione:
C:\Sample\Python
Il metodo absolute()
restituisce il percorso completo del file e la funzione parent()
recupera la directory del file da questo percorso.
Per ottenere la directory di lavoro corrente, rimuoviamo il nome del file dalla funzione precedente. Il codice seguente mostra come:
import pathlib
print(pathlib.Path().absolute())
Produzione:
C:\Sample\Python
Usa il modulo os
per ottenere il percorso dei file e la directory di lavoro corrente
La libreria os
viene utilizzata per interagire con il sistema operativo e dispone di funzioni per recuperare i percorsi completi dei file. Questo metodo funziona anche con Python 2.x.
La funzione abspath()
può ottenere il percorso del file richiesto, e la funzione dirname()
ottiene la directory dal percorso completo.
Per esempio:
import os
print(os.path.dirname(os.path.abspath(__file__)))
Produzione:
C:\Sample\Python
Non possiamo usare direttamente la funzione dirname()
per ottenere la directory di un file poiché restituisce una stringa vuota.
Possiamo anche usare la funzione realpath()
come alternativa alla funzione abspath()
. Rimuove tutti i collegamenti simbolici se presenti dal percorso.
import os
print(os.path.dirname(os.path.realpath(__file__)))
Produzione:
C:\Sample\Python
Per ottenere la directory di lavoro corrente, possiamo usare la funzione getcwd()
che restituisce il percorso della directory corrente. Possiamo passare questo percorso alla funzione dirname()
per ottenere la directory.
Per esempio:
import os
print(os.path.abspath(os.getcwd()))
Produzione:
C:\Sample\Python
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn