php调用python

Python016

php调用python,第1张

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 用来捕获输出 不过束腰注意的是 这里的arry 他是按照每一行'\r\n'当作一个元素 

但是passthru 则是你python里的print的原样输出

py和php放在同一个目录下面some.py------------------------------------------#!/usr/bin/env python#-*- coding:utf-8 -*-import sysdef do_some(a):return "dosome:%s" % aif __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]pa

python环境在小鸟云云服务器装好后,就有一个idle工具,你找一下安装目录,自带的编辑器,在任意目录新建一个

aa.py

文件,用记事本和idle工具都行,输入print("hello

world"),如果你使用的是idle,直接按f5,就能查看结果,如果用记事本,打开cmd,进入这个目录,输入命令python

aa.py就出来结果了。