Ottieni il percorso del file corrente in Python

Manav Narula 21 dicembre 2022
  1. Uso del modulo pathlib per ottenere il percorso dei file e la directory di lavoro corrente
  2. Usa il modulo os per ottenere il percorso dei file e la directory di lavoro corrente
Ottieni il percorso del file corrente in Python

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
Autore: Manav Narula
Manav Narula avatar Manav Narula avatar

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

Articolo correlato - Python Path