Ottieni percorso assoluto in Python

Rayven Esplanada 30 marzo 2021
  1. Usa abspath() per ottenere il percorso assoluto in Python
  2. Usa il modulo pathlib per ottenere il percorso assoluto in Python
Ottieni percorso assoluto in Python

Questo tutorial dimostrerà come ottenere il percorso assoluto di un file o di una cartella in Python.

Usa abspath() per ottenere il percorso assoluto in Python

Sotto il modulo Python os ci sono utili funzioni e proprietà di utilità che manipolano e accedono ai percorsi dei file sotto la proprietà os.path. Per ottenere il percorso assoluto usando questo modulo, chiama path.abspath() con il percorso dato per ottenere il percorso assoluto.

import os

simp_path = "demo/which_path.docx"
abs_path = os.path.abspath(simp_path)

print(abs_path)

L’output della funzione abspath() restituirà un valore stringa del percorso assoluto relativo alla directory di lavoro corrente.

Produzione:

/Users/user/python/demo/which_path.docx

Usa il modulo pathlib per ottenere il percorso assoluto in Python

Il modulo Python pathlib offre funzioni simili a os.path e contiene classi che rappresentano i percorsi dei file con le loro proprietà e funzioni corrispondenti usate per la manipolazione dei percorsi e l’accesso.

Per ottenere il percorso assoluto usando pathlib, importa la classe Path dal modulo pathlib e usa la funzione Path.absolute() di quella classe per determinare il percorso assoluto di un dato file o cartella.

from pathlib import Path

fpath = Path("sample2.py").absolute()

print(fpath)

Anche l’impostazione del percorso assoluto come parametro è supportata e lo stamperà direttamente invece di aggiungere le cartelle principali e renderlo ridondante.

from pathlib import Path

fpath = Path("/Users/user/python/sample2.py").absolute()

print(fpath)

Entrambe le istanze produrranno lo stesso Output:

/Users/user/python/sample2.py

In sintesi, ci sono due semplici modi per ottenere il percorso assoluto di un file o di una cartella in Python sotto i moduli os e pathlib. Dal punto di vista delle prestazioni, entrambe le soluzioni sono relativamente veloci ed è solo una questione di preferenza sulla soluzione che lo sviluppatore desidera utilizzare.

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

Articolo correlato - Python Path