Perl在Python中的BEGIN {}块

时间:2010-07-15 19:09:52

标签: python perl version

我有使用“with”关键字的Python代码(2.6中的新增内容),我想检查解释器版本是否至少为2.6,所以我使用这段代码:

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

但是,2.4解释器会在with关键字(后面的脚本)中窒息,因为它无法识别语法,而是在评估我的检查之前执行此操作。

Python中是否存在类似于Perl的BEGIN {}块的内容?

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:3)

也许有人有更好的答案,但我首先想到的是有一个单独的脚本来执行检查,然后在检查通过后导入“真实”脚本。在导入发生之前,Python不会检查语法。

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

import myscript  # runs myscript