Maison >développement back-end >tutoriel php >Comment échanger des données entre des scripts Python exécutés et PHP
Exécuter des scripts Python en PHP et échanger des données
PHP et Python sont deux langages de programmation polyvalents dotés de capacités distinctes. Parfois, les développeurs peuvent être confrontés à la nécessité d'intégrer des scripts Python dans des applications PHP pour exploiter des fonctionnalités spécialisées. Un aspect crucial de cette intégration est la capacité d'échanger des données de manière transparente entre les deux langages.
Mécanismes d'échange de données
Heureusement, l'échange de données entre PHP et Python est réalisable via formats et canaux de communication standardisés, à savoir :
Exemple de mise en œuvre
Voici un exemple de la façon d'exécuter un script Python à partir de PHP et d'échanger des données en utilisant JSON :
PHP :
<code class="php"><?php // Data to pass to Python (in JSON format) $data = json_encode(['as', 'df', 'gh']); // Execute Python script with JSON data as an argument $result = shell_exec('python /path/to/myScript.py ' . escapeshellarg($data)); // Decode the result from Python $resultData = json_decode($result, true); // Output the result var_dump($resultData); // Array with key 'status' set to 'Yes!' ?></code>
Python :
<code class="python">import sys import json # Parse JSON data received from PHP try: data = json.loads(sys.argv[1]) except: print("ERROR") sys.exit(1) # Generate data to send back to PHP result = {'status': 'Yes!'} # Send result via stdout (sent to PHP) print(json.dumps(result))</code>
Fiabilité et difficulté
L'approche décrite ci-dessus est généralement fiable pour l'échange de données entre PHP et Python. Le niveau de difficulté de mise en œuvre dépend de la complexité des données et des exigences spécifiques du projet. Cependant, il offre un moyen flexible et efficace d'intégrer ces deux langages pour des tâches spécialisé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!