Trova il percorso del file specificato utilizzando Python

Trova il percorso del file specificato utilizzando Python

Possiamo ottenere la posizione (percorso) del file di script in esecuzione .py con __file__. __file__ è utile per leggere altri file e fornisce la posizione corrente del file in esecuzione. Differisce nelle versioni. In Python 3.8 e versioni precedenti, __file__ restituisce il percorso specificato durante l'esecuzione del file Pitone comando.

Possiamo ottenere un percorso relativo se viene specificato un percorso relativo. Se specifichiamo un percorso assoluto, viene restituito un percorso assoluto. Ma in Python 3.9 e versioni successive, __file__ restituisce sempre un percorso assoluto, the Modulo del sistema operativo fornisce varie utilità.

Modi per ottenere la directory corrente in Python con il sistema operativo

Esistono molti modi per ottenere la directory corrente in Python con il sistema operativo. Qui, stiamo utilizzando alcuni modi generalmente utilizzati per ottenere la directory corrente in Python con il sistema operativo che stiamo seguendo.

  • Utilizzando Path.cwd()
  • Utilizzando os.getcwd()
  • Utilizzando pathlib.Path().absolute()
  • Utilizzando il sistema operativo. percorso.nomebase
  • Utilizzando os.path.abspath

Trova il percorso del file specificato utilizzando Path.cwd()

Qui, l’idea della Current Working Directory (CWD) occupa un posto importante. Pensa a CWD come cartella in cui è in esecuzione Python. Python presuppone che il file inizi nella CWD se viene chiamato semplicemente per nome, quindi un riferimento solo nome funzionerà solo se il file si trova nella CWD di Python. Path.cwd() restituisce la directory corrente.

Python3




from> pathlib> import> Path> print> (Path.cwd())>

Produzione:

C:Usersint.suraj.gupta 

Ottieni la directory corrente in Python con il sistema operativo utilizzando os.getcwd()

Possiamo ottenere il percorso assoluto della directory di lavoro corrente. Pertanto, a seconda della versione utilizzata, viene recuperato un percorso relativo o assoluto. Per ottenere la directory di lavoro corrente in Python, utilizzare il comando os. getcwd () metodo. Questa funzione del modulo del sistema operativo Python restituisce la stringa contenente il percorso assoluto della directory di lavoro corrente.

Python3




import> os> print> (> 'Get current working directory : '> , os.getcwd())>

Produzione:

Get current working directory : C:Usersint.suraj.gupta 

Ottieni la directory corrente in Python con il sistema operativo utilizzando pathlib.Path().absolute()

Questa funzione del Python Modulo del sistema operativo restituisce la stringa contenente il percorso assoluto della directory di lavoro corrente.

Python3




import> pathlib> # current working directory> print> (pathlib.Path().absolute())>

Produzione:

C:Usersint.suraj.gupta 

Trova il percorso del file specificato utilizzando os.path.basename

Possiamo ottenere il nome del file e il nome della directory del file in esecuzione nel modo seguente. La cosa fondamentale da capire __file__ è che l'interprete lo regola in fase di esecuzione in modo che Pitone sa con quale file ha a che fare quando lo script utilizza più moduli. Il vantaggio di chiamare Path( file__) è che restituisce una stringa contenente il percorso e il file su cui stai attualmente lavorando.

  • Puoi chiamare __file__ mentre modifichi un file. Di conseguenza, se provi a chiamarlo dall'interprete della shell, non verrà eseguito.
  • __file__ non funziona in a Il taccuino di Jupyter contesto.

Python3




import> os> print> (> 'File name : '> , os.path.basename(__file__))> print> (> 'Directory Name: '> , os.path.dirname(__file__))>

Produzione:

Trova il percorso del file specificato utilizzando os.path.abspath

Può sembrare complicato, ma os.path.abspath() significa semplicemente che questo metodo restituisce il percorso fornito come argomento a questa funzione. La documentazione afferma che questo metodo produce una versione assolutizzata normalizzata del percorso del nome percorso.

Esempio 1: Per ottenere il percorso assoluto del file in esecuzione.

Python3




import> os> print> (> 'Absolute path of file: '> ,> > os.path.abspath(__file__))> print> (> 'Absolute directoryname: '> ,> > os.path.dirname(os.path.abspath(__file__)))>

Produzione:

Esempio 2: Se specifichiamo un percorso assoluto in os.path.abspath(), verrà restituito così com'è, quindi se __file__ è un percorso assoluto, non si verificherà alcun errore anche se impostiamo os.path. aspatico (__file__)

Python3




import> os> pythonfile> => 'pathfinding.py'> # if the file is present in current directory,> # then no need to specify the whole location> print> (> 'Path of the file..'> , os.path.abspath(pythonfile))> for> root, dirs, files> in> os.walk(r> 'E:geeksforgeekspath_of_given_file'> ):> > for> name> in> files:> > > # As we need to get the provided python file,> > # comparing here like this> > if> name> => => pythonfile:> > print> (os.path.abspath(os.path.join(root, name)))>

Produzione: