如何将用PHP创建的字典返回到Python?

时间:2017-07-13 23:34:08

标签: php python dictionary subprocess

由于对我允许使用的内容有一些限制,我不得不在PHP中创建一个字典作为值的字典。在我的脚本结束时,我放了一个return语句来返回字典。我现在必须使用此映射在Python中运行聚类算法。我试着跑

proc = subprocess.call(["php", "/path/to/file/file.php"])

将字典存储为proc。然后我打印了proc的类型然后是值,只是为了知道它是否正确存储了数据,但是,类型是int,值是0.(这个字典中的键都是字符串,带有整数数组作为价值观)。 我知道为什么我得到这些返回值?或者将我的字典导入Python 2.7的更好方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

我很难理解一个这是一个好主意的场景......但无论如何

test.php的

<?php
$data = array("1"=>2,"3"=>5,"asd"=>22,"bob"=>"susan");
echo json_encode($data);
?>

>>> import subprocess,json
>>> json.loads(subprocess.check_output("php test.php",shell=True))
{u'1': 2, u'3': 5, u'bob': u'susan', u'asd': 22}