首页 >后端开发 >php教程 >如何从 PHP 无缝交换数据并执行 Python 脚本?

如何从 PHP 无缝交换数据并执行 Python 脚本?

Susan Sarandon
Susan Sarandon原创
2024-10-21 20:45:03719浏览

How to Exchange Data and Execute Python Scripts Seamlessly from PHP?

使用 PHP 执行 Python 脚本和数据交换

在 PHP 中执行 Python 脚本并在它们之间交换数据是可行的。一种方法是使用通用语言格式和 stdin/stdout 进行数据传输。

例如,让我们考虑一个场景,您有一个用于网站数据抓取的 PHP 类。为了增强其功能,您希望集成专为各种网站设计的 Python 脚本。

为了促进两种语言之间的数据传输,您可以利用以下方法:

PHP:

<code class="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);</code>

Python:

<code class="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))</code>

在此示例中,PHP 将 JSON 数据作为 shell 参数发送到 Python 脚本。脚本读取数据,处理数据,并通过 stdout 将结果以 JSON 形式发送回。

此方法可以在 PHP 和 Python 之间安全可靠地传输数据。以 JSON 等结构化格式交换数据可确保通信顺畅并消除数据传输过程中的潜在问题。

以上是如何从 PHP 无缝交换数据并执行 Python 脚本?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn