मेरे पास पाइथन 2 केवल कोड का एक बड़ा टुकड़ा है। यह शुरुआत में पायथन 3 की जांच करना चाहता है, और अगर Python3 का उपयोग किया जाता है तो बाहर निकलें। तो मैंने कोशिश की:पायथन 2 कोड: यदि पायथन 3 तो sys.exit()
import sys
if sys.version_info >= (3,0):
print("Sorry, requires Python 2.x, not Python 3.x")
sys.exit(1)
print "Here comes a lot of pure Python 2.x stuff ..."
### a lot of python2 code, not just print statements follows
हालांकि, बाहर निकलना नहीं होता है। उत्पादन होता है:
$ python3 testing.py
File "testing.py", line 8
print "Here comes a lot of pure Python 2.x stuff ..."
^
SyntaxError: invalid syntax
इसलिए, यह अजगर चेक की तरह लग रहा है कुछ भी निष्पादित करने से पहले पूरे कोड, और इसलिए त्रुटि।
क्या Python3 कोड का उपयोग करने के लिए python2 कोड के लिए एक अच्छा तरीका है, और यदि ऐसा कुछ दोस्ताना प्रिंट करें और फिर बाहर निकलें?
आप 'if __name__ == "foo" 'ब्लॉक का उपयोग भी कर सकते हैं, जो' if __name__ == "__main __" की तरह काम करता है लेकिन 'foo' आयात होने पर निष्पादित होता है – inspectorG4dget
इसे और अधिक नहीं माना जाएगा * पायथनिक * ईएएफपी का उपयोग करने के लिए और केवल 'try' ब्लॉक के अंदर the_real_thing का आयात डालें? – martineau
@ मार्टिनौ: मैं इस मामले में हाथ में ऐसा नहीं करूँगा। 'आयात' बहुत सफल हो सकता है, और अन्य त्रुटियां' मुख्य() 'में हो सकती हैं। आप कोशिश करने/छोड़कर 'the_real_thing.main() 'संलग्न नहीं करना चाहते हैं। –