Come cambiare la directory di lavoro in Python

Come cambiare la directory di lavoro in Python

Una directory di lavoro è una directory corrente in cui stiamo lavorando e da cui viene eseguito lo script; All'interno di questa directory, abbiamo accesso a molti file (quelli situati al suo interno). Tuttavia, a volte dobbiamo cambiare le directory e andare avanti e indietro tra file e cartelle. In questo tutorial, impareremo come cambiare la directory di lavoro a Python.

Modulo OS

In primo luogo, per raggiungere questo obiettivo, avremo bisogno del modulo OS in Python. Dal momento che viene preinstallato, non è necessario installare nulla. Il modulo OS viene generalmente utilizzato in Python per interagire, gestire e modificare file e cartelle sul sistema. Ad esempio, possiamo creare/rimuovere le directory, modificare le directory di lavoro, i file walkthrough, controllare se esistono file, ecc.... inutile dire che è un modulo molto utile.

Ottenere l'attuale directory di lavoro

Per ottenere l'attuale directory di lavoro, utilizziamo il metodo getcwd () Dal modulo OS. Si prega di notare qui che non viene superata alcun argomento. Nel mio caso, l'output era "/Home/Kalyani/PycharmProjects/PythonProject1"Su una macchina Ubuntu (che esegue Pycharm). Ciò significa che la sceneggiatura principale - principale.PY - si trova all'interno di questa cartella (PythonProject1). E intendiamoci, la directory di lavoro, prima di tutto una cartella!

Import OS
# Ottieni la directory di lavoro attuale
current_directory = os.getcwd ()
Stampa ("La tua directory di lavoro attuale è % s" % current_directory)

Modifica dell'attuale directory di lavoro

Modificare la directory di lavoro è facile con il metodo Chdir (), che prende esattamente un argomento: il percorso verso la nuova posizione come stringa.

Import OS
# Ottieni la directory di lavoro attuale
current_directory = os.getcwd ()
Stampa ("La tua directory di lavoro attuale è % s" % current_directory)

La prima cosa da fare è impostare il nuovo percorso verso la directory di lavoro. Su Ubuntu, questo è molto semplice!

# Imposta una nuova directory di lavoro
new_working_directory = "/home/kalyani/desktop/pithonderctory"

Su Windows, è necessario utilizzare doppie retroscena per definire la directory.

#new_working_directory = "c: \\ utenti \\ mai \\ desktop \\ pithondirectory"

Successivamente, definiamo una clausola di prova ad eccezione. Se esiste il percorso, utilizzeremo il metodo Chdir () per modificare la directory di lavoro in una nuova directory di lavoro. Se il percorso non è una directory, lancerà un errore!

Tentativo:
sistema operativo.chdir (new_working_directory)
stampa ("La directory di lavoro è stata cambiata!")
Stampa ("WD: % S" % OS.getcwd ())
Tranne NotairectoryError:
stampa ("Non hai scelto una directory.")
Tranne FileNotFounderror:
stampa ("La cartella non è stata trovata. Il percorso non è corretto.")
Tranne il permissionerror:
Stampa ("Non hai accesso a questa cartella/file.")

Il codice completo sarebbe così:

Import OS
# Ottieni la directory di lavoro attuale
current_directory = os.getcwd ()
Stampa ("La tua directory di lavoro attuale è % s" % current_directory)
# Imposta una nuova directory di lavoro
#new_working_directory = "/home/kalyani/desktop/pithonderctory"
new_working_directory = r "c: \ utenti \ mai \ desktop \ pithondirectory"
Tentativo:
sistema operativo.chdir (new_working_directory)
stampa ("La directory di lavoro è stata cambiata!")
Stampa ("WD: % S" % OS.getcwd ())
Tranne NotairectoryError:
stampa ("Non hai scelto una directory.")
Tranne FileNotFounderror:
stampa ("La cartella non è stata trovata. Il percorso non è corretto.")
Tranne il permissionerror:
Stampa ("Non hai accesso a questa cartella/file.")

In effetti, gli errori potrebbero sollevare vari tipi di eccezioni:

io. NotaDirectoryError:

Supponiamo ora per un'istanza che ho scritto il seguente codice per il percorso o la nuova directory di lavoro:

new_working_directory = "c: \\ utenti \\ mai \\ desktop \\ pithondirectory \\ text.TXT"

Quello che puoi notare qui è che sto puntando il percorso a un documento di testo chiamato testo.TXT. E quest'ultimo lancerà un errore noto come NotairectoryError. In altre parole, il tuo percorso deve indicare una directory di qualche tipo.

ii. Firenotfounderror:

Un filenotfounderror viene lanciato quando il percorso non esiste. Quindi, supponiamo per il momento in cui non ho una directory di nome PythonderEctory sul mio desktop e che ho impostato il mio percorso su:

new_working_directory = "C: \ Users \ Never \ Desktop \ PythonderEctory"

Lancerà un Firenotfounderror. Questo errore significa semplicemente che la directory a cui stiamo indicando non esiste o non è stata trovata.

iii. Autorizzazione:

UN Autorizzazione viene sollevato quando l'utente non ha autorizzazioni adeguate per modificare o accedere alla directory scelta.

iv. Errore di sintassi:

Un errore di sintassi si verifica quando c'è un errore di sintassi nel percorso. Su Windows, se scriviamo per dire:

new_working_directory = "C: \ Users \ Never \ Desktop \ PythonderEctory"

Viene lanciato un errore di sintassi! Tuttavia, un errore di sintassi è molto più difficile da catturare in quanto deve essere valutato, importato o eseguito. Pertanto, quando scriviamo i blocchi di prova, è più difficile catturare un tale errore.

Su Windows, per evitare errori, il percorso può essere scritto in uno dei tre modi diversi in modo tale che non vengano lanciati errori:

Metodo 1: in questo metodo, aggiungiamo una "R" prima di impostare la stringa.

new_working_directory = r "c: \ utenti \ mai \ desktop \ pithondirectory"

Metodo 2: utilizziamo doppie barache.

new_working_directory = "c: \\ utenti \\ mai \\ desktop \\ pithonderctory"

Metodo 3: utilizziamo una singola barra in avanti.

new_working_directory = "C:/Users/Never/Desktop/PythonderEctory"

Modulo del percorso

Possiamo anche modificare la directory di lavoro usando il modulo Path. Innanzitutto, installa il percorso come segue (ho anche dato il collegamento al modulo):

Percorso di installazione PIP
(https: // pypi.org/progetto/percorso/)

Successivamente, scriviamo:

dal percorso di importazione del percorso
Import OS

Innanzitutto, controlliamo l'attuale directory di lavoro utilizzando il modulo OS e il metodo getCwd ().

# Controlliamo la directory di lavoro corrente
CWD = OS.getcwd ()
Stampa ("La directory di lavoro attuale è: % s" % CWD)
stampa("---------------------------------------------")

Successivamente, imposta il percorso sulla nuova directory di lavoro. In questo caso, ho scelto di impostare l'esempio su una macchina Windows:

# Imposta il percorso sulla nuova directory di lavoro
new_path = "c: \\ utenti \\ mai \\ desktop \\ pithondirectory"

Usa il percorso () per modificare la directory di lavoro. Path () prende solo un argomento qui: il percorso effettivo del nuovo directory di lavoro e utilizza il metodo Chdir () per realizzare l'attività.

# Cambia la directory di lavoro
Path (new_path).chdir ()

Ricollega se la directory di lavoro è stata cambiata. E qui, come puoi vedere nella foto, la directory di lavoro è stata davvero cambiata!

# Righeck la directory di lavoro
# è stato cambiato?
CWD = OS.getcwd ()
Stampa ("La nuova directory di lavoro è % s" % CWD)

Modificare le directory di lavoro è un compito facile e prende un metodo: il metodo Chdir (percorso). Tuttavia, a seconda che tu sia su una macchina Windows o su una macchina Linux, devi stare attento a come si inserisce il percorso come stringa. Se inserito in modo errato, può lanciare un errore!

Codice felice!