一尘不染

在PHP中执行Python脚本并在两者之间交换数据

php

是否可以在PHP中运行Python脚本并相互传递变量?

我有一堂课,以某种全球性的方式抓取网站获取数据。我想使其变得更加具体,并且已经具有针对多个网站的pythons脚本。

我正在寻找一种将这些内容纳入班级的方法。

两者之间安全可靠的数据传输是否可能?如果是这样的话,要取得这样的成就有多困难?


阅读 307

收藏
2020-05-29

共1个答案

一尘不染

通常,您可以通过使用通用语言格式并使用stdinstdout来传递数据来在语言之间进行通信。

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)
2020-05-29