使用 PHP 执行 Python 脚本和数据交换
在 PHP 中执行 Python 脚本并在它们之间交换数据是可行的。一种方法是使用通用语言格式和 stdin/stdout 进行数据传输。
例如,让我们考虑一个场景,您有一个用于网站数据抓取的 PHP 类。为了增强其功能,您希望集成专为各种网站设计的 Python 脚本。
为了促进两种语言之间的数据传输,您可以利用以下方法:
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);
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))
在此示例中,PHP 将 JSON 数据作为 shell 参数发送到 Python 脚本。脚本读取数据,对其进行处理,并通过 stdout 将结果以 JSON 形式发回。
此方法可以在 PHP 和 Python 之间安全可靠地传输数据。以 JSON 等结构化格式交换数据可确保通信顺畅并消除数据传输过程中的潜在问题。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3