PHP与Python进行数据交互(life)

偏执的太偏执、 2022-11-24 14:26 227阅读 0赞

最近,决定在一个项目用tp5进行APP接口开发,用Python做数据分析,然后这就面临一个问题:PHP和Python如何进行数据交互?

思路

我解决此问题的方法是利用了PHP的passthru函数来调用命令运行Python脚本。

实现

在PHP中调用命令运行Python脚本

【社群福利】30G-PHP进阶资料,助力大家都能30K

  1. //php.php
  2. <?php
  3. $params = "value"; #传递给python脚本的入口参数
  4. $path="python python.py "; //需要注意的是:末尾要加一个空格
  5. passthru($path.$params);//等同于命令`python python.py 参数`,并接收打印出来的信息
  6. ?>

若存在多个参数,则参数之间以空格分开

在Python中接收PHP传入的参数

sys.argv[]用于获取到的PHP传入python的入口参数

  1. //python.py
  2. import sys
  3. params = sys.argv[1] #即为获取到的PHP传入python的入口参数
  4. print(params);

若在Python中接收多个参数

  1. params = sys.argv[1:]

从Python中返回参数

若要从Python中返回多个值,需要将值写入元组中,然后通过json.dumps()转化为json,并进行打印,PHP中通过passthru可以获得Python脚本打印的json

  1. import sys
  2. import json
  3. params = ('Google', 'Runoob', 1997, 2000);
  4. json_str =json.dumps(params);
  5. print(json_str);

另需要在PHP中passthru前加@,否则会报以下提示

  1. Notice: Array to string conversion in php.php on line 6

效果

运行调用Python脚本的PHP文件,浏览器中输出值为Python打印的值。

更多PHP相关知识请关注我的专栏

以上就是PHP与Python进行数据交互的详细内容

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的可以加入我的官方群点击此处。

发表评论

表情:
评论列表 (有 0 条评论,227人围观)

还没有评论,来说两句吧...

相关阅读

    相关 PHP Trait 使用指南(life)

    通过更好地组织代码和代码复用来最大程度地减少代码重复是面向对象编程的重要目标。但是在 PHP 中,由于使用单一继承模型的局限性,有些时候要做到这些可能会比较困难。您可能有一些要