O comando which em Python
-
Use a função
shutil.which()para emular o comandowhichem Python -
Crie uma função para emular o comando
whichem Python
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