我有一个python函数
import commands
output=commands.getputput("ls -l")
print output
return output
我需要从我的perl脚本中获取python函数的返回值
my($command)=`$python_script_path`;
print $command;
我的问题是,通过在python中打印输出我可以在屏幕上获得我的结果,但我实际上也需要Perl脚本中的输出,所以我宁愿返回它。我怎样才能实现它? 另请注意我不想使用内联python。谢谢!
答案 0 :(得分:1)
自2.6以来,commands模块已弃用。请改用subprocess。
p = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, shell=True)
print p.communicate()[0]
答案 1 :(得分:0)
答案 2 :(得分:0)
你也可以在'open'文件中打开管道到Python脚本:
open PYTHON, "$python_script_path|";
while(<PYTHON>){
print;
}
close PYTHON;