我必须将一个数组从php文件传递到python文件,但我的代码给出的输出为NULL


I have to pass an array from a php file to python file but my code is giving output NULL

PHP代码:

<?php
$data = array('1','4','67','34');
$result = shell_exec('C:/Python27/python C:/xampp/htdocs/123.py ' . escapeshellarg(json_encode($data)));
$resultData = json_decode($result, true);
var_dump($resultData);

?>

Python代码:

import sys, json
# Load the data that PHP sent us
try:
    data = json.loads(sys.argv[1])
except:
    print "ERROR"
    sys.exit(1)
# Generate some data to send to PHP
result = {'23','4'}
# Send it to stdout (to PHP)
print json.dumps(result)

Python 中json.dump()的数据不正确

# Generate some data to send to PHP
result = {'23','4'}

所以这给出了错误,而不是json字符串

import sys, json
# Generate some data to send to PHP
result = {'23','4'}
# Send it to stdout (to PHP)
print json.dumps(result)

PHP从Python中获得NULL作为$result,因此您可以在浏览器中的屏幕上获得NULL

使用(例如):

# Generate some data to send to PHP
result = {'a':'23','b':'4'}

并且CCD_ 5将正常工作。

在命令后面添加2>&1(stdout&stderr),如下所示:

$result = shell_exec('C:/Python27/python C:/xampp/htdocs/123.py ' . escapeshellarg(json_encode($data)) . ' 2>&1');