问题描述
我有一个要从我的 codeigniter 控制器执行的 python 脚本。 我发现了一个类似的问题,但不太能看到输出 (Executing a Python file from Codeigniter)
有没有办法可以从我的 CI 应用程序中运行 python 脚本并将输出转换为变量或类似的东西?
解决方法
例如,您可以使用 passthru 函数从 php 执行 python 脚本。
<?php
ob_start();
passthru('/full/path/to/python /full/path/to/test.py arg1 arg2');
$output = ob_get_clean();
echo $output;
?>
或者使用“系统”功能。
<?php
system('full/path/to/python /full/path/to/test.py',$return_value);
echo $return_value;
?>
但是如果你想“看到”一些东西,你的 python 脚本应该返回一些东西。
import sys
#calculate stuff
sys.stdout.write('Bugs: 5 |Other: 10\n')
sys.stdout.flush()
sys.exit(0)