原文地址:http://blog.163.com/darwin_zhang/blog/static/128488736201111842115199/
php调用python
2011-02-18 16:21:15| 分类: 默认分类 |举报|字号 订阅
现在写php 以前写python 但是php很多部分没有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);
}
然后浏览器里面输入 http://localhost/t.php?k=test
浏览器会返回dosome:test
被我注释掉的代码也可以用来替代passthru
里面的$a 用来捕获输出 不过束腰注意的是 这里的arry 他是按照每一行'\r\n'当作一个元素
但是passthru 则是你python里的print的原样输出
(转 http://hi.baidu.com/ghostwwl/blog/item/21dee2da58ef62d7b6fd4828.html)
php调用python
2011-02-18 16:21:15| 分类: 默认分类 |举报|字号 订阅
现在写php 以前写python 但是php很多部分没有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);
}
然后浏览器里面输入 http://localhost/t.php?k=test
浏览器会返回dosome:test
被我注释掉的代码也可以用来替代passthru
里面的$a 用来捕获输出 不过束腰注意的是 这里的arry 他是按照每一行'\r\n'当作一个元素
但是passthru 则是你python里的print的原样输出
(转 http://hi.baidu.com/ghostwwl/blog/item/21dee2da58ef62d7b6fd4828.html)