是否可以在PHP中运行Python脚本并相互传递变量?
我有一堂课,以某种全球性的方式抓取网站获取数据。我想使其变得更加具体,并且已经具有针对多个网站的pythons脚本。
我正在寻找一种将这些内容纳入班级的方法。
两者之间安全可靠的数据传输是否可能?如果是这样的话,要取得这样的成就有多困难?
通常,您可以通过使用通用语言格式并使用stdin和stdout来传递数据来在语言之间进行通信。
stdin
stdout
PHP / Python示例,使用shell参数通过JSON发送初始数据
PHP:
// This is the data you want to pass to Python $data = array('as', 'df', 'gh'); // Execute the python script with the JSON data $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);
蟒蛇:
import sys, json # Load the data that PHP sent us try: data = json.loads(sys.argv[1]) except: print "ERROR" sys.exit(1) # Generate some data to send to PHP result = {'status': 'Yes!'} # Send it to stdout (to PHP) print json.dumps(result)