Maison  >  Article  >  développement back-end  >  Interaction de données entre PHP et Python

Interaction de données entre PHP et Python

藏色散人
藏色散人avant
2019-10-26 14:18:074420parcourir

Récemment, j'ai décidé d'utiliser tp5 pour le développement d'interfaces APP et Python pour l'analyse de données dans un projet. Ensuite, j'ai été confronté à une question : comment PHP et Python interagissent-ils avec les données ?

Idée

La façon dont j'ai résolu ce problème était d'utiliser la fonction passthru de PHP pour appeler la commande permettant d'exécuter le script Python.

Implémentation

Appelez la commande en PHP pour exécuter le script Python

//php.php
<?php
$params = "value"; #传递给python脚本的入口参数  
$path="python python.py "; //需要注意的是:末尾要加一个空格
passthru($path.$params);//等同于命令`python python.py 参数`,并接收打印出来的信息 
?>

S'il y a plusieurs paramètres, séparez-les par des espaces

Recevoir les paramètres transmis par PHP en Python

sys.argv[] est utilisé pour obtenir les paramètres d'entrée transmis par PHP à python

//python.py
import sys  
params = sys.argv[1] #即为获取到的PHP传入python的入口参数
print(params);

Si dans Recevoir plusieurs paramètres en Python

params = sys.argv[1:]

Paramètres de retour de Python

Pour renvoyer plusieurs valeurs de Python, vous devez écrire les valeurs dans un tuple, puis Convertissez-le en json via json.dumps() et imprimez-le. Vous pouvez obtenir le json imprimé par le script Python via passthru en PHP

import sys
import json
params = (&#39;Google&#39;, &#39;Runoob&#39;, 1997, 2000);
json_str =json.dumps(params);
print(json_str);

Vous devez également ajouter @ avant passthru en PHP, sinon l'invite suivante sera signalé

Notice: Array to string conversion in php.php on line 6

Effet

Exécutez le fichier PHP qui appelle le script Python, et la valeur de sortie dans le navigateur est la valeur imprimée par Python.

Pour plus de connaissances sur PHP, veuillez visiter le Site Web PHP chinois !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer