如何将数据从PHP传递到Python

fsi0uk1n  于 5个月前  发布在  PHP
关注(0)|答案(3)|浏览(50)

如何将数据从PHP传递到Python?这是我的代码。PHP:

$data = 'hello';
$result = shell_exec('/home/pi/Python.py' .$data);

字符串
Python皮:

result = sys.argv[1]
print(result)


但当运行python代码时,它显示错误:
"IndexError: list index out of range"的。
我不知道为什么?它有其他代码从PHP传递数据到Python?

2nc8po8w

2nc8po8w1#

在命令和参数之间提供空间:
尝试以下代码段

php:test.php

<?php

$data = 'hello'; 
$output=shell_exec("python test.py "  .$data);

echo $output;

?>

字符串

python:test.py

import sys
result = sys.argv[1]
print(result+" by python!")

c2e8gylq

c2e8gylq2#

您应该在脚本名称后添加空格

$data = 'hello';
$result = shell_exec('/home/pi/Python.py ' .$data);

字符串

i34xakig

i34xakig3#

我正在使用PHP创建一个机器学习Web应用程序,下面是我如何将数据从PHP发送到Python文件。因此,我创建了一个简单的PHP和Python文件,并相应地发送数据。
test.php

<?php
    echo shell_exec("py test.py 1 2 3 ");`
?>

字符串
py:是你的python.exe的位置。你可以使用py或python,这取决于你的操作系统。test.py:是你的python文件的位置。如果PHP和Python都在同一个文件夹中,你可以在这里写Python文件的名称。1 2 3:是你想发送到Python文件的数据数组。
test.py

import sys
num_1 = sys.argv[1]
num_2 = sys.argv[2]
num_3 = sys.argv[3]
total = int(num_1)+int(num_2)+int(num_3)
print(total)


希望对你有帮助

相关问题