Вызовите Python из PHP и получите код возврата

Я вызываю скрипт python из PHP.

Программа python должна вернуть некоторое значение в соответствии с аргументами, переданными ему.

Вот пример программы python, которая даст вам общее представление о том, что я делаю в настоящее время:

#!/usr/bin/python import sys #get the arguments passed argList = sys.argv #Not enough arguments. Exit with a value of 1. if len(argList) < 3: #Return with a value of 1. sys.exit(1) arg1 = argList[1] arg2 = argList[2] #Check arguments. Exit with the appropriate value. if len(arg1) > 255: #Exit with a value of 4. sys.exit(4) if len(arg2) < 2: #Exit with a value of 8. sys.exit(8) #Do further coding using the arguments------ #If program works successfully, exit with a value of 0 

Как видно из приведенного выше кода, моя основная цель –

  1. для программы python для возврата некоторых значений (0,1,4,8 и т. д.) в зависимости от аргументов.
  2. А затем вызывающая PHP-программа для доступа к этим возвращаемым значениям и выполняет соответствующую операцию.

В настоящее время я использовал «sys.exit (n)» для этой цели.

Действительно ли я использую sys.exit, или мне нужно использовать что-то еще?

А также какой метод существует в PHP, чтобы я мог получить код возврата из python?

Извините за длинный вопрос, но, надеюсь, это поможет вам понять мою дилемму

Благодаря тонну

В PHP вы можете выполнить команду и получить код возврата с помощью exec .

В руководстве для exec указано, что третий параметр – это переменная, в которой будет сохранен код возврата, например

 exec('python blibble.py', $output, $ret_code); 

$ret_code будет кодом возврата оболочки, а $output – массивом строк текста, напечатанного на std. вывод.

Это, по-видимому, подходит для кода возврата из того, что вы описали, то есть 0, указывающего успех, и> 0 – коды для различных типов ошибок.

Это правильное использование exit (). См. Также: http://docs.python.org/library/sys.html