2012-05-16 37 views
2

在Windows下,執行下面的Python腳本,我得到的0而不是預期的2蟒蛇:導入scipy.io似乎防止sys.exit()正常工作

import sys 
import scipy.io 

sys.exit(2) 

的ERRORLEVEL如果我刪除進口scipy.io,我得到了2正確ERRORLEVEL ...

任何想法,爲什麼進口scipy.io造成這樣的問題?

PS:Windows 7中,巨蟒2.72,SciPy的0.10.1

調用幫助(sys.exit)的sys.exit調用返回之前以下(這似乎是好的):

Help on built-in function exit in module sys: 

exit(...) 
    exit([status]) 

    Exit the interpreter by raising SystemExit(status). 
    If the status is omitted or None, it defaults to zero (i.e., success). 
    If the status is numeric, it will be used as the system exit status. 
    If it is another kind of object, it will be printed and the system 
    exit status will be one (i.e., failure). 

如果我打電話

sys.exit('Something wrong') 

的字符串打印,但系統仍然返回0的ERRORLEVEL而不是1預期。

+0

對我來說,工作正常的Python 2.6中,CentOS 5的 –

+0

@moooeeeep調用幫助(sys.exit)只是sys.exit調用返回前:'幫助的內置函數退出模塊SYS: 退出(。 ..) exit([status]) 通過提高SystemExit(status)退出解釋器。 如果省略狀態或無,則默認爲零(即成功)。 如果狀態是數字,它將用作系統退出狀態。 如果是另一類型的對象,將被打印,並且系統 退出狀態將是一個(即,故障).' – FabD

+0

@moooeeeep該字符串被打印,但該系統仍返回0作爲ERRORLEVEL代替1預期的。 – FabD

回答

相關問題