El comando which en Python

Hemank Mehtani 30 enero 2023
  1. Utilice la función shutil.which() para emular el comando which en Python
  2. Cree una función para emular el comando which en Python
El comando which en Python

En Linux, tenemos el comando which. Este comando puede identificar la ruta de un ejecutable determinado.

En este tutorial, emularemos este comando en Python.

Utilice la función shutil.which() para emular el comando which en Python

Podemos emular este comando en Python usando la función shutil.which(). Esta función es una adición reciente en Python 3.3. El módulo shutil ofrece varias funciones para manejar las operaciones en archivos y sus colecciones.

La función shutil.which() devuelve la ruta de un ejecutable dado, que se ejecutaría si se llamara a cmd.

Por ejemplo,

import shutil

print(shutil.which("python"))

Producción :

C:\Anaconda\python.EXE

En el ejemplo anterior, shutil.which() devuelve el directorio del ejecutable de Python.

Cree una función para emular el comando which en Python

Por debajo de Python 3.3, no hay forma de usar la función shutil.which(). Entonces aquí, podemos crear una función usando funciones del módulo os para buscar el ejecutable dado y emular el comando which.

Consulte el siguiente 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"))

Producción :

C:\Anaconda\python.exe