2010-07-15 6 views
4

J'ai du code Python qui utilise le mot-clé « avec » (nouveau en 2.6) et je veux vérifier si la version interprète est d'au moins 2,6, donc j'utiliser ce code:bloc de Perl BEGIN {} en Python

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

Cependant, l'interpréteur 2.4 s'interrompt sur le mot-clé with (plus tard dans le script) car il ne reconnaît pas la syntaxe, et il le fait avant d'évaluer ma vérification.

Y a-t-il quelque chose en Python analogue au bloc BEGIN {} de Perl?

+1

double possible de [Python: La meilleure façon de vérifier la version de Python dans le programme qui utilise les nouvelles fonctionnalités du langage] (http://stackoverflow.com/questions/ 446052/python-best-way-vérifier-pour-python-version-dans-programme-que-uses-new-language-fe) – Ether

Répondre

3

Peut-être que quelqu'un a une meilleure réponse, mais ma première pensée serait d'avoir un script séparé pour effectuer la vérification, puis importer le "vrai" script une fois la vérification passée. Python ne vérifie pas la syntaxe tant que l'importation n'a pas eu lieu.

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

import myscript # runs myscript 
Questions connexes