将变量从PHP传递给Python

时间:2017-09-13 15:53:00

标签: php python

我试图将变量的值从php传递给python脚本。

PHP:

<?php 
$item = array('warren');
$command = escapeshellcmd('hello.py $item');
$output = shell_exec($command);
echo $output;
?>

蟒:

#!/usr/bin/env python
import sys
input = sys.argv[1]
print input

这会导致显示$item。我尝试过各种不同的引号,但仍然无法获得要传递的实际值(warren)。如何获取存储在$ item中的值才能传递,而不是文字? 我也试过How to pass variable from PHP to Python?

腓:

<?php                                            
$item = array('warren');                                                  
$output = shell_exec('hello.py' . $item);
echo $output;
?>

但是这给了我错误:

Notice: Array to string conversion in C:\wamp64\www\crud\clientdetails.php on line 613

2 个答案:

答案 0 :(得分:1)

您可以这样做,

$output = shell_exec('hello.py ' . implode(',', $item));

然后explode Python中的字符串,或者你只能传递数组中的值,

$output = shell_exec('hello.py ' . $item[0])

阅读材料

implode

答案 1 :(得分:0)

您收到错误的原因是您尝试将数组作为字符串传递。

如果要传递$ item中的数据。你需要这样做:

{{1}}

将$ item数组转换为一个字符串,然后将其传递给您的python