pipe.stdout.read()返回NULL(从Python调用Perl脚本)

时间:2015-07-14 13:39:42

标签: python oracle perl

我有一个perl脚本' db.pl'它连接到Oracle DB并从表中获取一行。

use DBI;
use lib " C:\strawberry\perl\site\lib";
my $dbh = DBI->connect("<schema>", "<username>", '<password>', { RaiseError => 1 });
my $sth = $dbh->prepare('select * from <tablename>',{ RaiseError => 1 });
$sth->execute;
my @row = $sth->fetchrow_array;
print "@row\n"

现在,当通过命令提示符运行时,它返回一行,这正是我想要的。

>perl db.pl

现在,我想在Python中使用相同的结果,我正在使用以下代码:

>>> pipe = subprocess.Popen(["perl", "<path>/db.pl"], stdout=subprocess.PIPE)
>>> print pipe.stdout.read()

返回NULL。有人能告诉我哪里出错吗?

0 个答案:

没有答案