Obtenha o caminho do arquivo atual em Python

Manav Narula 30 janeiro 2023
  1. Uso do módulo pathlib para obter o caminho dos arquivos e do diretório de trabalho atual
  2. Use o Módulo os para obter o caminho dos arquivos e o diretório de trabalho atual
Obtenha o caminho do arquivo atual em Python

Em Python, podemos trabalhar com muitos arquivos e módulos e interagir constantemente com o sistema de arquivos. Para importar ou exportar arquivos, precisamos saber o caminho correto e o diretório de tais arquivos; caso contrário, erros são gerados. Também é essencial saber o caminho do script Python em execução ou o caminho de algum outro arquivo.

O diretório de trabalho atual é o diretório do Python no qual estamos trabalhando no momento.

Este tutorial irá apresentar como obter o caminho completo e os diretórios do arquivo atual e o diretório de trabalho atual no Python.

Uso do módulo pathlib para obter o caminho dos arquivos e do diretório de trabalho atual

A biblioteca pathlib está disponível para Python 3.x superior e contém classes e métodos para lidar com problemas relacionados ao caminho do arquivo.

No código abaixo, iremos extrair o caminho de um script Python usando as funções fornecidas pelo módulo pathlib:

import pathlib

print(pathlib.Path(__file__).parent.absolute())

Resultado:

C:\Sample\Python

O método absolute() retorna o caminho completo do arquivo, e a função parent() recupera o diretório do arquivo deste caminho.

Para obter o diretório de trabalho atual, removemos o nome do arquivo da função acima. O código a seguir mostra como:

import pathlib

print(pathlib.Path().absolute())

Resultado:

C:\Sample\Python

Use o Módulo os para obter o caminho dos arquivos e o diretório de trabalho atual

A biblioteca os é utilizada para interagir com o sistema operacional e possui funções disponíveis para recuperar caminhos completos dos arquivos. Este método funciona com Python 2.x também.

A função abspath() pode obter o caminho do arquivo requerido, e a função dirname() obtém o diretório do caminho completo.

Por exemplo:

import os

print(os.path.dirname(os.path.abspath(__file__)))

Resultado:

C:\Sample\Python

Não podemos usar a função dirname() diretamente para obter o diretório de um arquivo, pois ela retorna uma string vazia.

Também podemos usar a função realpath() como alternativa à função abspath(). Ele remove todos os links simbólicos, se presentes no caminho.

import os

print(os.path.dirname(os.path.realpath(__file__)))

Resultado:

C:\Sample\Python

Para obter o diretório de trabalho atual, podemos usar a função getcwd() que retorna o caminho do diretório atual. Podemos passar este caminho para a função dirname() para obter o diretório.

Por exemplo:

import os

print(os.path.abspath(os.getcwd()))

Resultado:

C:\Sample\Python
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artigo relacionado - Python Path