python 2.6.5,并获取调用php应用程序的结果
我有一个时髦的python代码:python 2.6.5,并获取调用php应用程序的结果,php,python,Php,Python,我有一个时髦的python代码: import subprocess value = subprocess.Popen(["php","./php/php_runner.php"],stdout=subprocess.PIPE); 问题是,我不知道如何检查php_运行程序是否运行了。目前,它有以下突出部分: if (count($argv) != 4){ die("four arguments are needed\n"); } 及 所以我想要的是: 如何使用python获取返回值,
import subprocess
value = subprocess.Popen(["php","./php/php_runner.php"],stdout=subprocess.PIPE);
问题是,我不知道如何检查php_运行程序是否运行了。目前,它有以下突出部分:
if (count($argv) != 4){
die("four arguments are needed\n");
}
及
所以我想要的是:
/etc/php5/cli/conf.d/mcrypt.ini
(实际上,这只是对ubuntu 10.04的一个更改,我将第一行改为以;开头,而不是以#开头。这阻止了不断出现的恼人的“我们不喜欢#”错误)if (count($argv) != 4){
fwrite(STDERR, "four arguments are needed\n");
exit(1); // A response code other than 0 is a failure
}
这会将我的错误值作为错误。die()命令不是为我做的value = subprocess.Popen(["php","./php/php_runner.php"],stdout=subprocess.PIPE,
stderr=subprocess.PIPE);
print value.communicate();
是的,事实上,我会对value.communicate()[1]进行if运算,因为这就是错误所在糟糕 由于您使用的是
Popen
构造函数,而不是call
函数,因此有关管道的说明不适用于您
使用文档中的
.communicate()
等待程序完成并获得输出。谢谢!我之前看过《沟通》,但并没有用管道来安装,所以我认为它并没有像我想象的那个样工作!
value = subprocess.Popen(["php","./php/php_runner.php"],stdout=subprocess.PIPE,
stderr=subprocess.PIPE);
print value.communicate();
$returnValue = call_to_another_php_class();
if ($returnValue == 1){ //hah, php has a good return value as 1.
//no problem
} else {
fwrite(STDERR,get_error_from_php_class());
exit(1);
}