Come ottenere la directory di lavoro corrente in Python

How Get Current Working Directory Python



Il nome del file o della cartella può essere utilizzato con il percorso completo o semplicemente citando il nome del file o della cartella solo per utilizzarlo nello script. Il percorso completo di un file o di una cartella dalla directory principale è specificato dal percorso assoluto. Quando il nome del file viene utilizzato senza il nome del percorso nello script, la directory di lavoro corrente viene considerata come il nome del percorso del file e viene chiamata percorso relativo. In Python, la directory di lavoro corrente è impostata sulla posizione della directory da cui viene eseguito lo script python. Esistono molti moduli in Python per ottenere la directory di lavoro corrente. I modi per recuperare la directory di lavoro corrente utilizzando diversi moduli in Python sono stati mostrati in questo tutorial.

Esempio 1: utilizzo del modulo pathlib per ottenere la directory di lavoro corrente

La classe di percorso del modulo pathlib viene utilizzato per leggere la directory di lavoro corrente dello script in esecuzione. Crea uno script python con il seguente codice per leggere e stampare la directory di lavoro corrente usando il modulo pathlib. Il cwd() metodo della classe Path viene utilizzato per stampare la directory di lavoro corrente da cui viene eseguito lo script.







# Importa il percorso dal modulo pathlib

a partire dalpathlibimportareIl percorso

# Recupera il percorso della directory di lavoro corrente

directory_di_lavoro_corrente=Il percorso.cwd()

# Stampa la posizione della directory di lavoro corrente

Stampa('La posizione della directory di lavoro corrente è:')

Stampa(directory_di_lavoro_corrente)

Produzione:

Il seguente output apparirà dopo aver eseguito lo script sopra. Qui, nell'output è mostrato il percorso della directory di lavoro corrente senza il nome dello script.





Esempio 2: utilizzo di normpath() e abspath() per ottenere la directory di lavoro corrente

L'uso del modulo os è un altro modo per recuperare la directory di lavoro corrente. Esistono diversi metodi nella classe percorso del modulo os per recuperare la directory di lavoro corrente. Il normpath() e abspath() metodi sono loro due. Questi metodi restituiscono la directory di lavoro corrente come stringa. Crea un file python con il seguente script per verificare gli scopi di queste funzioni.





# Importa modulo sistema operativo

importare tu

# Stampa la directory di lavoro corrente usando la funzione normpath()

Stampa('La directory di lavoro corrente (usando normpath()) è:')

Stampa(tu.il percorso.cognome(tu.il percorso.normpath(__file__)))

# Stampa la directory di lavoro corrente usando la funzione abspath()

Stampa(' La directory di lavoro corrente (usando abspath()) è:')

Stampa(tu.il percorso.abspath('.'))

Produzione:

Il seguente output apparirà dopo aver eseguito lo script sopra. Qui, nell'output è mostrato il percorso della directory di lavoro corrente senza il nome dello script.



Esempio 3: utilizzo di realpath() per ottenere la directory di lavoro corrente

Il percorso reale() è un altro metodo per recuperare la directory di lavoro corrente. Crea un file python con il seguente script per stampare la directory di lavoro corrente con il nome dello script usando il pulsante metodo realpath() . Nella sceneggiatura, ci vuole il __file__ come valore dell'argomento contenente il percorso del file in cui viene importato il modulo os.

# Importa modulo sistema operativo

importare tu

# Legge la directory di lavoro corrente usando la funzione realpath()

percorso_reale= tu.il percorso.percorso reale(__file__)

# Stampa la directory di lavoro corrente con il nome dello script

Stampa(' La directory di lavoro corrente con il nome dello script è:')

Stampa(percorso_reale)

Produzione:

Il seguente output apparirà dopo aver eseguito lo script sopra. Qui, nell'output è mostrato il percorso della directory di lavoro corrente con il nome dello script.

Esempio-4: utilizzo di getcwd() per ottenere la directory di lavoro corrente

Usando il funzione getcwd() del modulo os è il modo più semplice per recuperare la directory di lavoro corrente dello script in esecuzione. Non contiene alcun argomento e restituisce CWD come stringa. Creare un file python con il seguente script per verificare l'uso del funzione getcwd() . La directory di lavoro corrente viene stampata all'inizio dello script. Successivamente, il percorso della directory corrente viene modificato utilizzando il pulsante chdir() funzione . Il comando getcwd() viene chiamato di nuovo dopo aver cambiato la directory.

# Importa modulo sistema operativo

importare tu

# Stampa la directory di lavoro corrente usando la funzione getcwd()

Stampa('La directory di lavoro corrente è: ', tu.getcwd())

# Cambia la directory di lavoro corrente

tu.chdir('/ ecc / posta')

# Stampa la directory di lavoro corrente dopo la modifica

Stampa(' La directory di lavoro corrente dopo la modifica è: ', tu.getcwd())

Produzione:

Il seguente output apparirà dopo aver eseguito lo script sopra. Qui, il percorso della directory di lavoro corrente senza il nome dello script è stato stampato prima di cambiare la directory. Successivamente, è stato stampato il percorso della directory modificato.

Esempio-5: utilizzo di getcwd() con try-eccetto per ottenere la directory di lavoro corrente

Crea un file python con il seguente script per modificare la directory di lavoro corrente in base al valore di input e gestire diversi tipi di errori. Tre tipi di errori possono essere gestiti eseguendo lo script. Il Errore FileNotFoundError verrà generato se il percorso preso dall'input non esiste. Il NotADirectoryError errore verrà generato se il percorso preso dall'input non è una directory. Il Errore di PermissionError verrà generato se il percorso preso dall'input non è accessibile.

# Importa il modulo del sistema operativo

importare tu

# Inserisci il percorso della directory

cwd= ingresso('Inserisci il percorso della directory di lavoro corrente: ')


Tentativo:

# Cambia la directory di lavoro corrente

tu.chdir(cwd)

# Stampa la directory di lavoro corrente usando la funzione getcwd()

Stampa('La directory di lavoro corrente è: ', tu.getcwd())

# Genera errore se la directory non esiste

tranneFileNotFoundError:

Stampa('L'elenco non esiste.')

# Genera errore se il percorso di input non è una directory

tranneNotADirectoryError:

Stampa('%s non è una directory'%(cwd))

# Genera errore se la directory non è accessibile

trannePermissionError:

Stampa('Autorizzazione negata per cambiare la directory.')

Produzione:

Il seguente output apparirà dopo aver eseguito lo script sopra se il percorso esiste. Qui esiste il percorso di input preso e la directory di lavoro modificata è stata stampata nell'output.


Il seguente output apparirà dopo aver eseguito lo script sopra se il percorso non esiste.


Il seguente output apparirà dopo aver eseguito lo script sopra se il percorso preso non è accessibile.

Conclusione:

L'uso dei moduli pathlib e os per leggere la directory di lavoro corrente è mostrato in questo tutorial usando diversi esempi. In questo tutorial è stato mostrato anche il modo per recuperare la directory di lavoro corrente dopo aver modificato la directory di lavoro corrente in base all'input dell'utente.