我有一个提示用户输入的Python脚本。在input = raw_input("Enter input file: ")
model = raw_input("Enter model file: ")
虽然我可以使用下面的PHP命令来执行脚本,但在提示时如何提供输入?在
^{pr2}$
另外,像shell_exec(),我希望返回输出的所有行,而不仅仅是打印的第一行/最后一行。在
有效的解决方案:$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w")
);
$process = proc_open('python files/script.py', $descriptorspec, $pipes, null, null); // run script.py
if (is_resource($process)) {
fwrite($pipes[0], "files/input.txt\n"); // input 1
fwrite($pipes[0], "files/model.txt\n"); // input 2
fclose($pipes[0]); // has to be closed before reading output!
$output = "";
while (!feof($pipes[1])) {
$output .= fgets($pipes[1]);
}
fclose($pipes[1]);
proc_close($process); // stop script.py
echo ($output);
}