Heim  >  Artikel  >  Backend-Entwicklung  >  PHP- und Python-Dateninteraktion

PHP- und Python-Dateninteraktion

藏色散人
藏色散人nach vorne
2019-10-26 14:18:074462Durchsuche

Kürzlich habe ich beschlossen, tp5 für die APP-Schnittstellenentwicklung und Python für die Datenanalyse in einem Projekt zu verwenden. Dann stand ich vor einer Frage: Wie interagieren PHP und Python mit Daten?

Idee

Ich habe dieses Problem gelöst, indem ich die Durchgangsfunktion von PHP verwendet habe, um den Befehl zum Ausführen des Python-Skripts aufzurufen.

Implementierung

Rufen Sie den Befehl in PHP auf, um das Python-Skript auszuführen

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

Wenn es mehrere Parameter gibt, trennen Sie diese durch Leerzeichen

Empfangen Sie die von PHP in Python übergebenen Parameter

sys.argv[] wird verwendet, um die von PHP an Python übergebenen Eingabeparameter abzurufen

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

Wenn in Empfangen mehrere Parameter in Python

params = sys.argv[1:]

Parameter von Python zurückgeben

Um mehrere Werte von Python zurückzugeben, müssen Sie die Werte in ein Tupel schreiben und dann Konvertieren Sie JSON über json.dumps() und drucken Sie es aus. Sie können das JSON über Passthru in PHP drucken lassen

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

Sie müssen auch @ vor Passthru in PHP hinzufügen, andernfalls wird die folgende Eingabeaufforderung angezeigt gemeldet werden

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

Wirkung

Führen Sie die PHP-Datei aus, die das Python-Skript aufruft, und der Ausgabewert im Browser ist der von Python gedruckte Wert.

Weitere PHP-Kenntnisse finden Sie auf der PHP-Chinese-Website!

Das obige ist der detaillierte Inhalt vonPHP- und Python-Dateninteraktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen