2

在 Windows 下,执行以下 Python 脚本时,我得到的 ERRORLEVEL 为 0,而不是预期的 2。

import sys
import scipy.io

sys.exit(2)

如果我删除 import scipy.io,我得到了正确的 ERRORLEVEL 2 ...

知道为什么导入 scipy.io 会导致这样的问题吗?

PS:Windows 7,python 2.72,scipy 0.10.1

在 sys.exit 调用之前调用 help(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。

4

1 回答 1

1

这似乎是由于 SciPy 中的一个错误。以下是一些相关的门票(只有第一个仍然开放):

一个奇怪的观察是

导入编织时该错误消失。

也许尝试导入scipy.weave以查看此解决方法是否有帮助?

于 2012-05-16T10:29:45.427 回答