Come ottenere l'attuale directory di lavoro in Python

Come ottenere l'attuale directory di lavoro in Python

Il nome del file o della cartella può essere utilizzato con il percorso completo o semplicemente menzionare il nome del file o della cartella solo per utilizzarlo nello script. Il percorso completo di un file o una cartella dalla directory principale è specificato dal percorso assoluto. Quando il nome del file viene utilizzato senza il percorso nello script, la directory di lavoro corrente viene ipotizzata come percorso del file ed è chiamato percorso relativo. In Python, l'attuale directory di lavoro è impostata sulla posizione della directory da dove esegue lo script Python. Esistono molti moduli in Python per ottenere l'attuale directory di lavoro. I modi per recuperare l'attuale directory di lavoro utilizzando diversi moduli in Python hanno mostrato in questo tutorial.

Esempio-1: utilizzando il modulo Pathlib per ottenere la directory di lavoro corrente

La classe del percorso del modulo pathlib viene utilizzato per leggere l'attuale directory di lavoro dello script di esecuzione. Crea uno script Python con il seguente codice per leggere e stampare la directory di lavoro corrente utilizzando il modulo Pathlib. IL Metodo CWD () della classe di percorso viene utilizzata per stampare l'attuale directory di lavoro da dove sta eseguendo lo script.

# Importa il percorso dal modulo Pathlib
dal percorso di importazione pathlib
# Recupera il percorso della directory di lavoro corrente
Current_working_directory = Path.cwd ()
# Stampa la posizione dell'attuale directory di lavoro
Stampa ("La posizione dell'attuale directory di lavoro è:")
Stampa (current_working_directory)

Produzione:

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

Esempio-2: utilizzando 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 di percorso del modulo OS per recuperare la directory di lavoro corrente. Normpath () e Metodi ASSPATH () 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 il modulo OS
Import OS
# Stampa la directory di lavoro corrente utilizzando NormPath ()
print ("La directory di lavoro corrente (usando normpath ()) è:")
Stampa (sistema operativo.sentiero.Dirname (sistema operativo.sentiero.normpath (__ file__)))
# Stampa la directory di lavoro corrente utilizzando AbsPath ()
print ("\ n la directory di lavoro corrente (usando Asspath ()) è:")
Stampa (sistema operativo.sentiero.ASSPATH ('.'))

Produzione:

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

Esempio-3: usando RealPath () per ottenere la directory di lavoro corrente

IL RealPath () è 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 utilizzando il Metodo RealPath (). Nella sceneggiatura, ci vuole __file__ come valore dell'argomento contenente il percorso del file in cui viene importato il modulo OS.

# Importa il modulo OS
Import OS
# Leggi l'attuale directory di lavoro utilizzando RealPath ()
Real_path = OS.sentiero.RealPath (__ File__)
# Stampa la directory di lavoro corrente con il nome dello script
print ("\ n la directory di lavoro corrente con il nome dello script è:")
Stampa (Real_Path)

Produzione:

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

Esempio-4: usando getCwd () per ottenere la directory di lavoro corrente

Usando il funzione getcwd () del modulo OS è il modo più semplice per recuperare l'attuale directory di lavoro dello script di esecuzione. Non contiene alcun argomento e restituisce il CWD come stringa. Crea un file Python con il seguente script per verificare l'uso del funzione getcwd (). L'attuale directory di lavoro è stampata all'inizio dello script. Successivamente, il percorso della directory corrente viene modificato usando il funzione chdir (). IL comando getcwd () viene chiamato di nuovo dopo aver cambiato la directory.

# Importa il modulo OS
Import OS
# Stampa l'attuale directory di lavoro utilizzando la funzione getcwd ()
print ("La directory di lavoro corrente è: \ n", sistema operativo.getcwd ())
# Modifica la directory di lavoro corrente
sistema operativo.chdir ('/etc/mail')
# Stampa la directory di lavoro corrente dopo la modifica
print ("\ n la directory di lavoro corrente dopo la modifica è: \ n", sistema operativo.getcwd ())

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Qui, l'attuale percorso della directory di lavoro senza il nome dello script è stato stampato prima di cambiare la directory. Successivamente, il percorso di directory modificato è stato stampato.

Esempio-5: Utilizzo di getCwd () con Try-Except 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 Errore di NotaDirectoryError verrà generato se il percorso preso dall'input non è una directory. IL Errore di AmissionError verrà generato se il percorso preso dall'input non è accessibile.

# Importa il modulo OS
Import OS
# Inserisci il percorso della directory
cwd = input ("Immettere il percorso della directory di lavoro corrente: \ n")
Tentativo:
# Modifica la directory di lavoro corrente
sistema operativo.Chdir (CWD)
# Stampa l'attuale directory di lavoro utilizzando la funzione getcwd ()
print ("La directory di lavoro corrente è: \ n", sistema operativo.getcwd ())
# Solleva l'errore se la directory non esiste
Tranne FileNotFounderror:
stampa ("La directory non esiste.")
# Solleva l'errore se il percorso di input non è una directory
Tranne NotairectoryError:
Stampa (" %s non è una directory" %(CWD))
# Sollevare l'errore se la directory non è accessibile
Tranne il permissionerror:
Stampa ("Autorizzazione negato di cambiare la directory.")

Produzione:

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


Verrà visualizzato il seguente output dopo aver eseguito lo script sopra se il percorso non esiste.


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

Conclusione:

L'uso di moduli pathlib e OS per leggere l'attuale directory di lavoro è mostrato in questo tutorial utilizzando diversi esempi. Il modo per recuperare la directory di lavoro corrente dopo aver modificato la directory di lavoro corrente in base all'input dell'utente è stato mostrato anche in questo tutorial.