Come ottenere la directory corrente in Python

Uno degli aspetti più importanti della programmazione che devi capire è la directory del tuo progetto. Ti dà una migliore comprensione dei tuoi file e ti consente di relazionarti con loro più facilmente, specialmente quando devi eseguire azioni come il collegamento di file, l'importazione di moduli, il cambio di directory e molto altro.

Che sia per motivi urgenti o esigenze future, è un aspetto necessario anche quando si eseguono progetti Python.

Quindi evidenziamo le tecniche che puoi usare per ottenere la tua attuale directory Python, così come alcune altre possibili modifiche che puoi applicare ad essa in generale.

Trattare con le directory Python

I metodi che fare con la directory di lavoro di Python sono nel suo modulo integrato os e sono gli stessi per tutti i sistemi operativi. Quindi, significa che devi importare quel modulo prima di poter iniziare a eseguire comandi che si occupano della tua directory di lavoro.

Tuttavia, proprio come qualsiasi altra riga o blocco di codice Python, questi comandi sono scritti in una shell Python. O un file Python se stai usando altri editor di codice. E se stai lavorando dalla riga di comando, devi entrare nella shell Python digitando python . Questo perché i metodi del sistema operativo sono pacchetti Python e non è possibile eseguirli direttamente dal CMD.

Ottieni la directory di lavoro corrente di Python

È possibile ottenere la directory Python corrente utilizzando il metodo os.path o os.getcwd . Tuttavia, mentre os.getcwd , che è il metodo più comune, controlla solo la directory di lavoro corrente, il metodo os.path può controllare sia la directory corrente che il percorso di base della directory di lavoro.

Per ottenere il percorso di base della directory di lavoro di Python con il metodo os.path , scrivi quanto segue all'interno del tuo file o shell Python:

 import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print(BASE_DIR)

Tuttavia, per utilizzare il metodo sopra per controllare la directory di lavoro attiva, digitare quanto segue:

 import os
CURR_DIR = os.path.dirname(os.path.realpath(__file__))
print(CURR_DIR)

Ottenere la directory Python corrente con il metodo os.getcwd è abbastanza semplice; per usarlo, esegui le seguenti righe nella tua shell o nel file Python:

 import os
CURR_DIR = os.getcwd()
print(CURR_DIR)

Cambio della directory Python corrente

Puoi cambiare la directory Python corrente per ereditare un altro percorso di file, se lo desideri. Per fare ciò, devi solo definire il percorso del file per la nuova directory di lavoro come fatto nello snippet di codice di seguito. Assicurati di sostituire il percorso con quello che si applica a te:

 import os
chd = os.chdir('C:/Users/Omisola Idowu/Desktop/my_project')
CURR_DIR = os.getcwd()
print(CURR_DIR)

Il codice sopra cambia la directory di lavoro corrente in quella tra parentesi. Pertanto, l'output del frammento di cui sopra restituisce il percorso completo della nuova directory che hai inserito nel metodo os.chdir () .

Altre modifiche per trattare con le directory Python

Oltre a ottenere la directory corrente, ci sono altre cose che puoi fare per gestire i percorsi di lavoro di Python. È possibile elencare i file e le sottocartelle all'interno di una directory di lavoro Python, nonché rinominare, rimuovere o creare una directory Python scrivendo una delle seguenti righe nella shell Python.

Tuttavia, assicurati di importare i moduli necessari digitando import os nella shell prima di eseguire i comandi.

  1. os.listdir (): elenca tutti i file e le sottocartelle nella directory di lavoro corrente di Python
  2. os.mkdir ('new_dir'): crea una nuova directory Python all'interno della directory del progetto corrente
  3. os.rename ('old_name', 'new_name'): rinomina qualsiasi file o cartella con nome all'interno della directory corrente fornendo il suo nome originale, seguito dal suo nuovo nome
  4. os.rmdir ('nome_cartella'): rimuove la cartella vuota all'interno del percorso di lavoro corrente
  5. os.remove ('file_name'): elimina un file dalla directory Python
  6. shutil.rmtree ('nome_cartella'): elimina una cartella non vuota dalla directory di lavoro, per usare questo comando, importa la libreria shutil digitando import shutil nel tuo file di lavoro o shell Python.

Organizza la tua directory di progetto in modo intelligente

Indipendentemente dal progetto che desideri avviare, è buona norma creare una cartella che contenga l'intero progetto. E la disposizione della cartella e dei file può influenzare l'output del tuo progetto Python. Pertanto, deve esserci una directory ben strutturata per evitare che il tuo albero di lavoro venga incasinato.

Tuttavia, i metodi di directory elencati qui sono alcune delle poche cose che incontri man mano che vai avanti nell'esecuzione di progetti Python, specialmente quando devi collegare una o più cartelle o file insieme.