【问题标题】:Read the echo output of php file in python在python中读取php文件的echo输出
【发布时间】:2016-06-11 12:53:47
【问题描述】:

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

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

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

但是在检索中,我需要 php 文件来回显输出和 python 脚本来读取这个回显值。我该怎么做?

谢谢。

【问题讨论】:

  • 您的 PHP 文件是否部署为服务器代码?

标签: php python backendless


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    要使用 python 从标准输出读取,您可以使用 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"))
    

    【讨论】:

      【解决方案3】:

      尝试使用管道,例如:

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

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

      【讨论】:

        猜你喜欢
        • 2010-12-10
        • 1970-01-01
        • 1970-01-01
        • 2015-09-09
        • 2017-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-07
        相关资源
        最近更新 更多