Python 3改变了捕获异常的语法。如何使我的脚本兼容两个版本?我知道检测Python版本的方法,但我是否需要使用If-else
检查并重复整个try-catch
块?
答案 0 :(得分:2)
Python 2.6和2.7支持新的except Exception as e:
语法,就像Python 3一样。
如果你不幸使用长期死亡的Python 2版本2.5,甚至(喘息)2.4,它仍然“可能”,但你必须采取一些可怕的黑客,如
>>> import sys
>>> try:
... 1/0
... except ZeroDivisionError:
... e = sys.exc_info()[1]
... # process e
... del e