"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como trocar dados e executar scripts Python perfeitamente a partir de PHP?

Como trocar dados e executar scripts Python perfeitamente a partir de PHP?

Publicado em 2024-11-08
Navegar:131

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

Executando scripts Python e troca de dados com PHP

É viável executar scripts Python dentro de PHP e trocar dados entre eles. Um método para fazer isso é através do uso de formatos de linguagem comum e stdin/stdout para transmissão de dados.

Por exemplo, vamos considerar um cenário em que você tem uma classe PHP para extração de dados de sites. Para aprimorar seus recursos, você deseja integrar scripts Python projetados especificamente para vários sites.

Para facilitar a transferência de dados entre as duas linguagens, você pode aproveitar a seguinte abordagem:

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))

Neste exemplo, o PHP envia dados JSON como um argumento de shell para o script Python. O script lê os dados, processa-os e envia de volta o resultado como JSON por meio de stdout.

Este método permite a transferência de dados segura e confiável entre PHP e Python. A troca de dados em formatos estruturados como JSON garante uma comunicação tranquila e elimina possíveis problemas durante a transferência de dados.

Declaração de lançamento Este artigo foi reimpresso em: 1729514477 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3