我如何从PHP执行python函数(需要一个参数)?

时间:2016-06-19 12:47:59

标签: php python function parameters execute

我有一个python脚本,里面有一个python函数,函数接受一个参数。现在我想执行python函数。并且参数是从php给出的。 但是python文件在另一个目录中。

Ex:php位于site/ph目录,python位于site/pyt目录

请各位帮助我从php执行python 我感谢你的帮助

1 个答案:

答案 0 :(得分:0)

考虑使用PHP exec()将PHP参数作为命令行参数传递给Python。然后让Python通过其sys.argv列表接收它:

PHP 脚本(注意:$ output是一个数组,$ return_var是标量,0或其他)

$arg = "argument 1";
exec('python "/site/pyt/Script.py" "'.$arg.'"', $output, $return_var);

// PYTHON OUTPUT
echo "return value is: $return_var" . "\n";

foreach ($output as $line) {
    echo $line."\n";
}

Python 脚本(注意:sys.argv是一个包含脚本文件名作为第一个参数的列表)

import sys

# RECEIVING COMMAND LINE ARG
php_param = sys.argv[1]

def somefunction(p):
    print("PHP Paramter: {}".format(p))

somefunction(php_param)

输出 (运行PHP脚本时)

# return value is: 0
# PHP Paramter: argument 1