Python中的Perl的BEGIN{}块

4 投票
2 回答
1034 浏览
提问于 2025-04-16 01:21

我有一段Python代码,里面用了“with”这个关键词(在2.6版本中新增的),我想检查一下我的解释器版本是不是至少2.6,所以我用了下面的代码:

import sys
if sys.version < '2.6':
    raise Exception( "python 2.6 required" )

但是,2.4版本的解释器在遇到“with”这个关键词时就出错了(在脚本的后面部分),因为它不认识这个语法,而这个错误发生在它检查我版本的代码之前。

在Python中,有没有类似于Perl的BEGIN{}块的东西呢?

2 个回答

3

也许有人有更好的答案,但我首先想到的是可以写一个单独的脚本来进行检查,然后在检查通过后再导入“真正的”脚本。因为在Python中,只有在导入的时候才会检查语法。

import sys
if sys.version < '2.6':
    raise Exception( "python 2.6 required" )

import myscript  # runs myscript

撰写回答