Блок Perl BEGIN {} в Python - PullRequest
       7

Блок Perl BEGIN {} в Python

4 голосов
/ 15 июля 2010

У меня есть код Python, который использует ключевое слово «with» (новое в версии 2.6), и я хочу проверить, является ли версия интерпретатора как минимум 2.6, поэтому я использую этот код:

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

Однако,интерпретатор 2.4 душит ключевое слово with (позже в скрипте), потому что он не распознает синтаксис и делает это до того, как оценивает мою проверку.

Есть ли в Python что-то аналогичное Perl's BEGIN {}блок

Ответы [ 2 ]

4 голосов
/ 15 июля 2010
3 голосов
/ 15 июля 2010

Возможно, у кого-то есть лучший ответ, но моей первой мыслью было бы иметь отдельный сценарий для выполнения проверки, а затем импортировать «настоящий» сценарий после проверки. Python не будет проверять синтаксис, пока не произойдет импорт.

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

import myscript  # runs myscript
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...