Передайте несколько аргументов с именем переменной из PHP в PYTHON

Мне нужно передать аргумент с именем переменной из PHP в PYTHON.

вот мое требование в кодировании.

$output = shell_exec('python3 ActorArrayMatcher_FS2.py var1 = val1 & var2 = val2 & ... & varN = valN ');
print_r($output);

и как получить в питоне

import sys
print(sys.argv)

Пожалуйста, поделитесь знаниями. Заранее спасибо.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
428
2

Ответы 2

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. var1 = val1 var2 = val2 varN = valN, как пройти, должно быть так, и import sys print (sys.argv) получить как это

Avz Vicky 19.10.2018 13:19

Получает ли ваш скрипт Python входные переменные от sys.argv?

scrowler 19.10.2018 13:38

Вам нужно будет перебрать sys.argv, это список:

#!/usr/bin/env python
import sys


def main():
    for a in sys.argv:
        print(a)


if __name__ == '__main__':
    main()

Для более детального анализа аргументов я предлагаю вам взглянуть на библиотеки анализа аргументов для Python; в произвольном порядке:

Соответствующий вопрос SO: Как лучше всего анализировать аргументы командной строки?

Другие вопросы по теме