从Perl调用Python脚本

我试图在perl中捕获一个python退出coode表单。


我的python代码py_test.py:


import sys

sys.exit(sys.argv[1])

我的perl代码test.pl:


#!/usr/bin/perl -w

$res = system("python py_test.py ".$ARGV[0]);

print("\$res ==== $res \n >>>". $? ."\n");

我跑了:


perl test.pl 4

结果是:


4

$res ==== 256

>>>256

我在32位RHEL 5.3上使用python 2.4.3和perl 5.8.8。


有人可以帮我了解这里发生的事情吗,我似乎无法理解这种行为,我做错了什么吗?(我看了几个小时的代码,从未遇到过系统怪异的东西)


缥缈止盈
浏览 290回答 2
2回答

暮色呼如

我发现了我的问题。我输入sys.exit argv [1],但在开始时python将其视为字符串。将其更改为sys.exit(int(argv [1]))后,一切正常。这也解释了为什么打印“ 4”的原因。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python