最佳答案
如果我有一个Python脚本,至少需要一个特定的 在Python版本中,优雅地失败的正确方式是什么 当使用早期版本的Python启动脚本时?< / p >
我如何获得足够早的控制,以发出错误消息 并退出吗?< / p > 例如,我有一个使用ternery操作符(2.5新增)和“with”块的程序 (2.6新增)。我写了一个简单的小解释器版本 检查程序,这是脚本的第一件事 打电话给……但它并没有走到那一步。相反, 脚本在python编译期间失败,在我的例程之前 甚至被称为。这样脚本的用户就会看到一些非常 模糊语法错误回溯-这是非常必要的 专家推断,这只不过是跑步的情况
. Python版本错误我知道如何检查Python的版本。问题是一些语法在旧版本的Python中是非法的。考虑这个程序:
import sys
if sys.version_info < (2, 4):
raise "must use python 2.5 or greater"
else:
# syntax error in 2.4, ok in 2.5
x = 1 if True else 2
print x
当在2.4下运行时,我想要这个结果
$ ~/bin/python2.4 tern.py
must use python 2.5 or greater
而不是这个结果:
$ ~/bin/python2.4 tern.py
File "tern.py", line 5
x = 1 if True else 2
^
SyntaxError: invalid syntax
(为同事通灵。)