"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo intercambiar datos y ejecutar scripts de Python sin problemas desde PHP?

¿Cómo intercambiar datos y ejecutar scripts de Python sin problemas desde PHP?

Publicado el 2024-11-08
Navegar:504

How to Exchange Data and Execute Python Scripts Seamlessly from PHP?

Ejecución de scripts de Python e intercambio de datos con PHP

Es factible ejecutar scripts de Python dentro de PHP e intercambiar datos entre ellos. Un método para hacerlo es mediante el uso de formatos de lenguaje común y stdin/stdout para la transmisión de datos.

Por ejemplo, consideremos un escenario en el que tiene una clase PHP para la extracción de datos de un sitio web. Para mejorar sus capacidades, busca integrar scripts de Python diseñados específicamente para varios sitios web.

Para facilitar la transferencia de datos entre los dos lenguajes, puede aprovechar el siguiente enfoque:

PHP:

// Data to send to Python
$data = ['as', 'df', 'gh'];

// Execute Python script with JSON data as argument
$result = shell_exec('python /path/to/myScript.py ' . escapeshellarg(json_encode($data)));

// Decode the result
$resultData = json_decode($result, true);

// This will contain: array('status' => 'Yes!')
var_dump($resultData);

Python:

import sys, json

# Load data sent from PHP
try:
    data = json.loads(sys.argv[1])
except:
    print("ERROR")
    sys.exit(1)

# Generate data to send to PHP
result = {'status': 'Yes!'}

# Send to stdout (to PHP)
print(json.dumps(result))

En este ejemplo, PHP envía datos JSON como argumento de shell al script de Python. El script lee los datos, los procesa y envía el resultado como JSON a través de la salida estándar.

Este método permite una transferencia de datos segura y confiable entre PHP y Python. El intercambio de datos en formatos estructurados como JSON garantiza una comunicación fluida y elimina posibles problemas durante la transferencia de datos.

Declaración de liberación Este artículo se reimprime en: 1729514477 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3