我有一个不支持 python 的后端云服务数据库。
所以我正在使用 php 文件建立 python 代码和数据库之间的连接。
插入工作正常,因为 php 文件没有对 python 的响应。
然而,在检索我需要 php 文件来回显输出和 python 脚本来读取这个回显值。我怎样才能做到这一点?
谢谢。
我有一个不支持 python 的后端云服务数据库。
所以我正在使用 php 文件建立 python 代码和数据库之间的连接。
插入工作正常,因为 php 文件没有对 python 的响应。
然而,在检索我需要 php 文件来回显输出和 python 脚本来读取这个回显值。我怎样才能做到这一点?
谢谢。
使用该subprocess
模块从 python 执行 PHP 代码。
假设您的 PHP 脚本写入标准输出subprocess.check_output()
将是最简单的,或者subprocess.Popen()
如果您需要更好地控制子进程,您可以使用。
如果您使用的是 Python >= 3.5,那么您可以使用subprocess.run()
.
要使用 python 从 stdout 读取,您可以使用 subprocess 模块
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"))
尝试使用管道,例如:
php test.php | grep 'xxx' python text.python
就是这样,python可以从sys.argv获取php的echo数据