Maison >développement back-end >tutoriel php >Comment échanger des données et exécuter des scripts Python de manière transparente à partir de PHP ?
Exécution de scripts Python et échange de données avec PHP
Il est possible d'exécuter des scripts Python dans PHP et d'échanger des données entre eux. Une méthode pour y parvenir consiste à utiliser des formats de langage courants et stdin/stdout pour la transmission des données.
Par exemple, considérons un scénario dans lequel vous disposez d'une classe PHP pour la récupération des données d'un site Web. Pour améliorer ses capacités, vous cherchez à intégrer des scripts Python conçus spécifiquement pour divers sites Web.
Pour faciliter le transfert de données entre les deux langages, vous pouvez tirer parti de l'approche suivante :
PHP :
<code class="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);</code>
Python :
<code class="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))</code>
Dans cet exemple, PHP envoie des données JSON comme argument shell au script Python. Le script lit les données, les traite et renvoie le résultat au format JSON via stdout.
Cette méthode permet un transfert de données sûr et fiable entre PHP et Python. L'échange de données dans des formats structurés comme JSON garantit une communication fluide et élimine les problèmes potentiels lors du transfert de données.
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!