我试图在perl中捕获一个python退出coode表单。我的python代码py_test.py:import syssys.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。有人可以帮我了解这里发生的事情吗,我似乎无法理解这种行为,我做错了什么吗?(我看了几个小时的代码,从未遇到过系统怪异的东西)
2 回答
暮色呼如
TA贡献1853条经验 获得超9个赞
我发现了我的问题。我输入sys.exit argv [1],但在开始时python将其视为字符串。将其更改为sys.exit(int(argv [1]))后,一切正常。
这也解释了为什么打印“ 4”的原因。
添加回答
举报
0/150
提交
取消