Come ottenere l'attuale directory dei file degli script in Python

Jinku Hu 3 gennaio 2023
  1. Python ottiene la directory di lavoro
  2. Python ottiene la directory dei file di script
Come ottenere l'attuale directory dei file degli script in Python

Abbiamo introdotto il funzionamento dei file e delle directory in Python 3 basic tutorial. In questa sezione, vi mostriamo come ottenere il percorso relativo ed assoluto dello script in esecuzione.

Python ottiene la directory di lavoro

La funzione os.getcwd() restituisce la cartella di lavoro corrente.

Se la si esegue in Python idle prompt, il risultato è il percorso di Python IDLE.

Python ottiene la directory dei file di script

Il percorso del file di script può essere trovato nel global namespace con la speciale variabile globale __file__. Essa restituisce il percorso relativo del file di script relativo alla directory di lavoro.

Vi mostreremo nei codici di esempio qui sotto come utilizzare le funzioni che abbiamo appena introdotto.

import os

wd = os.getcwd()
print("working directory is ", wd)

filePath = __file__
print("This script file path is ", filePath)

absFilePath = os.path.abspath(__file__)
print("This script absolute path is ", absFilePath)

path, filename = os.path.split(absFilePath)
print("Script file path is {}, filename is {}".format(path, filename))
absFilePath = os.path.abspath(__file__)

os.path.abspath(__file__) restituisce il percorso assoluto del percorso relativo dato.

path, filename = os.path.split(absFilePath)

La funzione os.path.split() divide il nome del file con il percorso del percorso puro e il nome del file puro.

Autore: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook