Saltar al contenido

Cómo utilizar Envoy – PythonForBeginners.com

Sobre Envoy

Recientemente me topé con Envoy. Envoy es un envoltorio alrededor del módulo de subproceso y
se supone que humaniza el subproceso de Python.

Está escrito por Kenneth Reitz (el autor de “Solicitudes: HTTP para humanos“)

¿Por qué utilizar Envoy?

Fue escrito para ser una alternativa fácil de usar al subproceso.

“Envoy: Subprocesos de Python para humanos”.

Instalar Envoy

Envoy está disponible en PyPI y se puede instalar con pepita.

Busque el paquete Envoy a través de la herramienta de línea de comandos pip.

pip search envoy

”Envoy – API simple para ejecutar procesos externos. “Instalar Envoy

$ pip install envoy

Enviado de importación

Al igual que con cualquier otro módulo de Python, primero tenemos que importarlos.

Inicie su intérprete de Python y escriba “import envoy”

import envoy

Genial, Envoy está importado, ahora podemos comenzar a descubrir sus funciones, etc.

Métodos y atributos de Envoy

Después de haber importado un módulo en Python, siempre es bueno ver qué funciones
, clases y métodos que proporciona el módulo. Una forma de hacerlo es usar
“Dir (enviado)”.

Usando dir (módulo)

Eso listará los nombres de todas las funciones y variables, que están definidas en el
Módulo enviado.

>>> dir(envoy)

Eso le dará una salida como esta:

['Command', 'ConnectedCommand', 'Response', '__builtins__', '__doc__', '__file__',
'__name__', '__package__', '__path__', '__version__', 'connect', 'core', 'expand_args',
'os', 'run', 'shlex', 'subprocess', 'threading’]

Si desea obtener un nombre por línea, simplemente ejecute un bucle for simple:

>>> for i in dir(envoy): print i

Esta salida le muestra un nombre por línea:

Entrenamiento de Python recomendado

Para el entrenamiento de Python, nuestra principal recomendación es DataCamp.

...
Command
ConnectedCommand
Response
__builtins__
__doc__
__file__
__name__
__package__
__path__
__version__
connect
core
expand_args
os
run
shlex
subprocess
threading
>>>

También puede utilizar “help (envoy)” para obtener la documentación sobre todas las funciones.

Uso del enviado

Echemos un vistazo al método “ejecutar” para Envoy.

envoy.run ()

Para verificar el tiempo de actividad de nuestra máquina, podemos usar el comando “uptime”.

r = envoy.run("uptime”)

Salida estándar

Para ver la salida, agregamos “std_out”:

>>> r.std_out
'15:11  up 6 days,  1:04, 3 users, load averages: 0.55 0.57 0.61
‘

Código de estado

Para obtener el código de estado, agregue “status_code” a su objeto.

print r.status_code
0

Mando

Ejecute un comando, obtenga la respuesta:

>>> print r

Error estándar

Para obtener el error estándar, agregue “std_err”.

r.std_err

Historia

Obtenga historia.

r.history
[<response 'uptime'="">]

Ejemplos de Envoy

Verifique el proceso de Chrome

r = envoy.run("ps aux |grep Chrome")
print r.std_out

En nuestro último ejemplo, utilizo varios comandos.

import envoy

cmd = ['date', "uptime", "w"]

r = envoy.run(cmd)

print r.std_out

Obtenga el código de estado de todos los comandos

import envoy

cmd = ['date', "uptime", "w"]

for command in cmd:
    r = envoy.run(cmd)
    print r.status_code

Obtenga el código de estado + la salida de cada comando

import envoy

cmd = ['date', "uptime", "w"]

for command in cmd:
    r = envoy.run(cmd)
    print r.status_code, r.std_out

Envoy se ha convertido en mi biblioteca principal para manejar llamadas de comando externas.

Fue escrito para ser una alternativa fácil de usar al subproceso y la conveniencia
de envoy.run es realmente genial.

Más lectura

https://github.com/kennethreitz/envoy
http://stackoverflow.com/search?q=envoy

Entrenamiento de Python recomendado

Para el entrenamiento de Python, nuestra principal recomendación es DataCamp.