O comando which em Python
-
Use a função
shutil.which()
para emular o comandowhich
em Python -
Crie uma função para emular o comando
which
em Python
![O comando which em Python](/img/Python/feature-image---equivalent-of-which-in-python.webp)
No Linux, temos o comando which
. Este comando pode identificar o caminho para um determinado executável.
Neste tutorial, vamos emular esse comando em Python.
Use a função shutil.which()
para emular o comando which
em Python
Podemos emular este comando em Python usando a função shutil.which()
. Esta função é uma adição recente no Python 3.3. O módulo shutil
oferece várias funções para lidar com as operações sobre os arquivos e suas coleções.
A função shutil.which()
retorna o caminho de um determinado executável, que seria executado se cmd
fosse chamado.
Por exemplo,
import shutil
print(shutil.which("python"))
Produção:
C:\Anaconda\python.EXE
No exemplo acima, o shutil.which()
retorna o diretório do executável Python.
Crie uma função para emular o comando which
em Python
Abaixo do Python 3.3, não há como usar a função shutil.which()
. Então, aqui, podemos criar uma função usando funções do módulo os
para pesquisar o executável fornecido e emular o comando which
.
Veja o seguinte código.
import os
def which(pgm):
path = os.getenv("PATH")
for p in path.split(os.path.pathsep):
p = os.path.join(p, pgm)
if os.path.exists(p) and os.access(p, os.X_OK):
return p
print(which("python.exe"))
Produção:
C:\Anaconda\python.exe