... or am I missing something? With Python 2.0 on Windows 2000, when playing with sys.exit() and sys.argv() I get some unexpected results. First here is a simple case that shows what I expect. I run "caller_good.py" which call "callee_good.py" and prints its return value. "callee_good.py" returns 42 so "42" is printed: ----------------- caller_good.py -------------------- import os retval = os.system("python callee_good.py") print "caller: the retval is", retval ----------------------------------------------------- ----------------- callee_good.py -------------------- import sys sys.exit(42) ----------------------------------------------------- D:\trentm\tmp>python caller_good.py caller: the retval is 42 Now here is what I didn't expect. I changed "caller_bad.py" to pass, as an argument, the value that "callee_bad.py" should return. ----------------- caller_bad.py --------------------- import os retval = os.system("python callee_bad.py 42") print "caller: the retval is", retval ----------------------------------------------------- ----------------- callee_bad.py --------------------- import sys firstarg = sys.argv[1] print "callee_bad: firstarg is", firstarg sys.exit(firstarg) ----------------------------------------------------- D:\trentm\tmp>python caller_bad.py callee_bad: firstarg is 42 42 # <---- where did *this* print come from? caller: the retval is 1 # <---- and this retval is incorrect Any ideas? I have not tried to track this down yet nor have I tried the latest Python-CVS state. Trent -- Trent Mick TrentM@ActiveState.com
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4