fol*_*tor 1 python syntax-error python-2.7 python-3.x
我正在尝试在我的程序顶部编写一个代码块,如果程序意外地在Python 2.x中运行,它将给出一条错误消息并退出,但如果在Python中运行3.x将正常运行:
try:
print "Error: This program should only be run in Python 3."
raw_input('>')
exit()
except SyntaxError:
pass
print("I see you're running Python 3.")
# rest of program
Run Code Online (Sandbox Code Playgroud)
这在Python 2.7中正常工作(即,它显示错误和退出),但是当我在Python 3.3中运行它时,我得到一个SyntaxError,即使我告诉它有一个例外.
File "version.py", line 2
print "This program should only be run in Python 3"
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
SyntaxErrors在编译时被抛出.您不能像运行时异常那样捕获它们.
如果你想查看python版本,请查看sys.version_info.
即
import sys
if sys.version_info.major < 3:
sys.exit('This program should only be run in Python 3')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
249 次 |
| 最近记录: |