在python中读取php文件的echo输出

时间:2016-06-11 12:53:47

标签: php python backendless

我有一个无后端云服务的数据库,它不支持python。

所以我使用php文件在python代码和数据库之间建立连接。

插入工作正常,因为php文件没有响应python。

然而在检索中我需要php文件来回显输出和python脚本来读取这个echo值。我怎么能这样做?

感谢。

3 个答案:

答案 0 :(得分:0)

使用subprocess模块从python执行PHP代码。

假设您的PHP脚本写入标准输出subprocess.check_output()是最简单的,或者如果您需要更好地控制子进程,则可以使用subprocess.Popen()

如果您使用的是Python> = 3.5,则可以使用subprocess.run()

答案 1 :(得分:0)

要使用python从stdout读取,可以使用子进程模块

import subprocess
p = subprocess.Popen("ls",stdout=subprocess.PIPE) # in your case, "ls" change with php command
print p.communicate()  # here you will get ls output

但我不认为这是解决问题的好方法。更好的解决方案是使用php作为REST服务。然后使用python将其用作REST。

import json
import urllib2
json.load(urllib2.urlopen("htt://yourphpapplicationaddress.com"))

答案 2 :(得分:0)

尝试使用管道,例如:

php test.php | grep 'xxx' python text.python

就是这样,python可以从sys.argv获取php的回显数据