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');