最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【整理】PHP中执行调用Python代码

Python crifan 5323浏览 0评论

【背景】

别人的问题:

请问一下你熟悉php对python的调用吗? 需要从Php向python传递参数

但是之前没折腾过,现在去看看。

【折腾过程】

1.google搜:

php call python

找到一堆帖子。

2.参考:

executing Python script in PHP and exchanging data between the two

说是可以通过:

公共语言格式(common language formats),去实现,然后利用标准输入stdin和标准输出stdout去通信。

具体代码就不贴了。

有空去试试示例代码,看起来应该是可以的。

3.另外,别人也提到了,可以用那个RPC的东西。

其中Python中对应的rpc的库有:

phpxmlrpc

4.这里:

Calling Python in PHP

提到了用:

system()popen()

  • 如果Python脚本没有输出,或者你想要Python脚本的输出是直接输出到浏览器的:用system()
  • 如果你想要通过标准输入stdin去输入数据到Python中,或者是从Python的标准输出stdout中读取数据:用popen()
    • popen只能读或写,不能同时实现两种效果(既读也写)
      • 如果既要读也要实现写,则用:proc_open()
        • 自己使用时,注意不要出现死锁了。
    • 很明显,此处的你,就是这种情况,所以推荐用这个popen()

 

【总结】

根据你的情况,去用popen应该就够了。

关于具体如何使用,去看官网api说明:

http://php.net/manual/en/function.popen.php

然后把popen的参数,改为对应的python文件的路径,应该就可以了。

自己多试试吧。

转载请注明:在路上 » 【整理】PHP中执行调用Python代码

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
82 queries in 0.166 seconds, using 22.10MB memory