Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
捕获PHP中的Python脚本输出并避免双重输出_Php_Python - Fatal编程技术网

捕获PHP中的Python脚本输出并避免双重输出

捕获PHP中的Python脚本输出并避免双重输出,php,python,Php,Python,我正在用PHP使用system()执行一个Python脚本。为了获得Python脚本的结果,我使用print命令并在PHP中捕获结果。这是我的密码: Python(test.py) PHP $result = system('python test.py John'); echo $result; /* PHP Output */ Your name is John Your name is John 如您所见,输出是原来的两倍。第一个是由Python脚本本身生成的,第二个是由echo命令生

我正在用PHP使用
system()
执行一个Python脚本。为了获得Python脚本的结果,我使用
print
命令并在PHP中捕获结果。这是我的密码:

Python(test.py)

PHP

$result = system('python test.py John');
echo $result;

/* PHP Output */
Your name is John
Your name is John
如您所见,输出是原来的两倍。第一个是由Python脚本本身生成的,第二个是由
echo
命令生成的。有没有办法避免产量加倍?我只是想捕捉结果,并在PHP脚本的某个地方使用它

**注意:只是想知道是否有其他方法可以将Python脚本输出传递给PHP变量。我在这里的唯一目的是将输出放在PHP变量上。

您可以尝试使用函数。它还执行命令执行,但在系统的不同之处,不会将内容输出到标准输出。唯一的缺点是返回的是stadard输出中每一行的数组(而不是字符串,如system。您也可以尝试使用),这允许您将输出重定向到任意管道

$result = system('python test.py John');
echo $result;

/* PHP Output */
Your name is John
Your name is John