Как я могу выполнить функцию Python (которая принимает параметр) из PHP?

У меня есть скрипт Python, в котором есть функция Python и функция принимает параметр. Теперь я хочу выполнить функцию Python. и параметр дается из php. Но файл Python находится в другом каталоге.

Пример: php находится в site/ph каталог и питон находится в site/pyt каталог

Пожалуйста, ребята, помогите мне выполнить Python из PHP Я ценю вашу помощь

1 ответ

Попробуйте передать параметр PHP в качестве аргумента командной строки в Python, используя PHP exec(), Затем пусть Python получит его с sys.argv список:

PHP Script (примечание: $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 Script (примечание: 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
Другие вопросы по тегам