Мне нужно передать аргумент с именем переменной из PHP в PYTHON.
вот мое требование в кодировании.
$output = shell_exec('python3 ActorArrayMatcher_FS2.py var1 = val1 & var2 = val2 & ... & varN = valN ');
print_r($output);
и как получить в питоне
import sys
print(sys.argv)
Пожалуйста, поделитесь знаниями. Заранее спасибо.






shell_exec() - это вызов bash (или другого интерпретатора), поэтому вам нужно структурировать свою команду, как если бы вы запускали ее в командной строке:
$output = shell_exec('python3 ActorArrayMatcher_FS2.py var1=val1 var2=val2 varN=valN');
Что нужно иметь в виду:
python3 должен быть исполняемым пользователем, запускающим ваш PHP-скрипт.escapeshellarg(), прежде чем передавать их в shell_exec().ActorArrayMatcher_FS2.py будет более безопасным как абсолютный путь, и вам необходимо убедиться, что у пользователя, запускающего ваш PHP-скрипт, есть разрешения для него.Получает ли ваш скрипт Python входные переменные от sys.argv?
Вам нужно будет перебрать sys.argv, это список:
#!/usr/bin/env python
import sys
def main():
for a in sys.argv:
print(a)
if __name__ == '__main__':
main()
Для более детального анализа аргументов я предлагаю вам взглянуть на библиотеки анализа аргументов для Python; в произвольном порядке:
Соответствующий вопрос SO: Как лучше всего анализировать аргументы командной строки?
извиняюсь. Не понял, о чем я спрашиваю. как передать параметр с именем переменной и как получить в python. var1 = val1 var2 = val2 varN = valN, как пройти, должно быть так, и import sys print (sys.argv) получить как это