php调用python脚本参数(php调用python接口)

发布时间:2022-11-14

本文目录一览:

  1. thinkphp想传参数给python脚本并接受返回的参数,要怎么做
  2. 如何实现在PHP中调用Python并获取运行结果
  3. php调用python
  4. 如何在PHP服务器里运行python脚本
  5. 如何在linux服务器上用 PHP 执行 python 脚本
  6. php无法获取由python提交的post参数

thinkphp想传参数给python脚本并接受返回的参数,要怎么做

python中定义一个函数,可以通过正常的只传入值或key-value的方法调用。但是如果第一个时参数传入的是key-value的方法,那么后面的必须都是key-value方法,如果第一个不是,那么后面的可以根据情况再传入值就可以了。更多内容你可以去后盾人试试吧,多学习下视频

如何实现在PHP中调用Python并获取运行结果

Python的import包含文件功能就跟PHP的include类似,但更确切的说应该更像是PHP中的require,因为Python里的import只要目标不存在就报错程序无法往下执行。要包含目录里的文件,PHP中只需要给对路径就OK。Python中则不同,下面来看看这个例子。

php调用python

py和php放在同一个目录下面 some.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
def do_some(a):
    return "dosome:%s" % a
if __name__ == '__main__':
    a = sys.argv[1]
    if a:
        T = do_some(a)
        print T

t.php

<?php
$k = $_REQUEST['k'];
if (!empty($k)) {
    $k = trim($k);
    // $a = array();
    // exec('python ./some.py '.$k, $a);
    // echo $a[0];
    passthru('python ./some.py '.$k);
}
?>

然后浏览器里面输入 浏览器会返回 dosome:test 被我注释掉的代码也可以用来替代passthru里面的$a用来捕获输出 不过需要注意的是,这里的array他是按照每一行'\r\n'当作一个元素,但是passthru则是你python里的print的原样输出。

如何在PHP服务器里运行python脚本

python环境在小鸟云云服务器装好后,就有一个idle工具,你找一下安装目录,自带的编辑器,在任意目录新建一个 aa.py 文件,用记事本和idle工具都行,输入 print("hello world"),如果你使用的是idle,直接按f5,就能查看结果,如果用记事本,打开cmd,进入这个目录,输入命令 python aa.py 就出来结果了。

如何在linux服务器上用 PHP 执行 python 脚本

如果你有服务器权限的话直接exec命令调用python命令行就行了 php文件:test.php

<?php
exec("python hw.py",$array,$ret);
echo("result: ");
print_r($array);
echo("return value: ".$ret);
?>

py文件:hw.py(与php同一目录)

1
print ("Hello World")

php执行结果:

result: Array ( [0] = Hello World ) return value: 0

php无法获取由python提交的post参数

http协议里,POST request的header里必须要有Content-Type来指定request body的MIME type。你用form提交的话,浏览器自己会给你写header,用httplib的话,你需要自己写。你试试:

h.request('POST','/test.php',urllib.urlencode({'id':'12345'}),{"Content-type": "application/x-www-form-urlencoded"})