Obtenha o caminho do arquivo atual em Python
-
Uso do módulo
pathlib
para obter o caminho dos arquivos e do diretório de trabalho atual -
Use o Módulo
os
para obter o caminho dos arquivos e o diretório de trabalho atual
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 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