调用从perl返回值的python脚本

调用从perl返回值的python脚本,python,perl,Python,Perl,我有一个python函数 import commands output=commands.getputput("ls -l") print output return output 我需要从perl脚本中的python函数中获取这个返回值 my($command)=`$python_script_path`; print $command; 我的问题是,通过用python打印输出,我可以在屏幕上得到结果,但实际上我也需要Perl脚本中的输出,所以我宁愿返回它。我怎样才能做到呢? 另外请注意,

我有一个python函数

import commands
output=commands.getputput("ls -l")
print output
return output
我需要从perl脚本中的python函数中获取这个返回值

my($command)=`$python_script_path`;
print $command;
我的问题是,通过用python打印输出,我可以在屏幕上得到结果,但实际上我也需要Perl脚本中的输出,所以我宁愿返回它。我怎样才能做到呢?
另外请注意,我不想使用内联python。谢谢

返回代码是数值

最好的办法是打印输出并用Perl捕获输出

这可能会有所帮助:

自2.6版以来,该模块已被弃用。改用


您还可以在文件“open”中打开Python脚本的管道:

open PYTHON, "$python_script_path|";
while(<PYTHON>){
 print;
}
close PYTHON;
打开PYTHON,“$PYTHON_script_path |”;
while(){
印刷品;
}
闭蟒蛇;

要在perl脚本中打印它,它不是必须存在于
$command
变量中吗?但是backtick操作不是这样做的吗?将命令输出存储在该变量中?这就是我要说的,您调用的python脚本的输出将存储在
$command
中,作为旁注,
commands
模块被弃用,取而代之的是
子流程
。但它似乎不起作用。我一直在想为什么!!我觉得我错了,谢谢…我不是这样做的吗?我在流程中的某个地方错了吗?错了。OP正在从Perl.com调用Python,但我需要命令。getstatusoutput()。我所在学院的大多数系统都运行较旧的python版本。
open PYTHON, "$python_script_path|";
while(<PYTHON>){
 print;
}
close PYTHON;