यदि मेरे पास एक पायथन स्क्रिप्ट है, जिसे कम से कम पायथन के एक विशेष संस्करण की आवश्यकता है, तो स्क्रिप्ट को लॉन्च करने के लिए पायथन के पुराने संस्करण का उपयोग करने पर, इनायत से विफल होने का सही तरीका क्या है?
त्रुटि संदेश जारी करने और बाहर निकलने के लिए मुझे पर्याप्त नियंत्रण कैसे मिलेगा?
उदाहरण के लिए, मेरे पास एक प्रोग्राम है जो टर्निरी ऑपरेटर (2.5 में नया) और "ब्लॉक" (2.6 में नया) का उपयोग करता है। मैंने एक साधारण सा दुभाषिया-संस्करण चेकर रूटीन लिखा जो कि स्क्रिप्ट को कॉल करने वाली पहली चीज़ है ... सिवाय इसके कि यह अब तक नहीं मिली है। इसके बजाए, स्क्रिप्ट संकलन के दौरान स्क्रिप्ट विफल हो जाती है, इससे पहले कि मेरी दिनचर्या को भी बुलाया जाए। इस प्रकार स्क्रिप्ट का उपयोगकर्ता कुछ बहुत अस्पष्ट सिंटैक्स त्रुटि ट्रेसबैक देखता है - जिसके लिए बहुत जरूरी है कि एक विशेषज्ञ को यह कटौती करनी पड़े कि यह केवल पायथन के गलत संस्करण को चलाने का मामला है।
मुझे पता है कि पायथन के संस्करण की जांच कैसे की जाती है। मुद्दा यह है कि पायथन के पुराने संस्करणों में कुछ सिंटैक्स अवैध है। इस कार्यक्रम पर विचार करें:
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
(सहकर्मी के लिए चैनल करना।)