我有一个无后端云服务的数据库,它不支持python。
所以我使用php文件在python代码和数据库之间建立连接。
插入工作正常,因为php文件没有响应python。
然而在检索中我需要php文件来回显输出和python脚本来读取这个echo值。我怎么能这样做?
感谢。
答案 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的回显数据