我試圖在perl中捕獲一個(gè)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結(jié)果是:4$res ==== 256>>>256我在32位RHEL 5.3上使用python 2.4.3和perl 5.8.8。有人可以幫我了解這里發(fā)生的事情嗎,我似乎無法理解這種行為,我做錯(cuò)了什么嗎?(我看了幾個(gè)小時(shí)的代碼,從未遇到過系統(tǒng)怪異的東西)
2 回答

暮色呼如
TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊
我發(fā)現(xiàn)了我的問題。我輸入sys.exit argv [1],但在開始時(shí)python將其視為字符串。將其更改為sys.exit(int(argv [1]))后,一切正常。
這也解釋了為什么打印“ 4”的原因。
添加回答
舉報(bào)
0/150
提交
取消