Python 2.6 在解析整个脚本之前不会抛出断言错误
Python 2.6 doesn't throw Assertion Error before parsing the entire script
我在 Python 中使用了一个简单的代码来声明新版本,然后再继续。这是代码:-
import sys
assert sys.version_info >= (3, 5)
print(f"New formatting style")
运行 那段代码通过 Python 2.6 解释器 returns 出现 SyntaxError 如下:-
File "test.py", line 3
print(f"New formatting style")
^
SyntaxError: invalid syntax
我期待一个 AssertionError。任何解决方法?我的目标是显示不支持 Python 版本的用户友好消息。
我认为问题在于 Python 解释器在执行任何语句之前对代码进行标记。
一种解决方法是将您的工作代码分离到不同的模块中,并在 main.py
中仅放置一个警告
例如
import sys
if sys.version_info < (3, 5):
print("Sorry requires Python 3.6 or greater")
sys.exit(1)
else:
import MyCoreModule
MyCoreModule.main()
我在 Python 中使用了一个简单的代码来声明新版本,然后再继续。这是代码:-
import sys
assert sys.version_info >= (3, 5)
print(f"New formatting style")
运行 那段代码通过 Python 2.6 解释器 returns 出现 SyntaxError 如下:-
File "test.py", line 3
print(f"New formatting style")
^
SyntaxError: invalid syntax
我期待一个 AssertionError。任何解决方法?我的目标是显示不支持 Python 版本的用户友好消息。
我认为问题在于 Python 解释器在执行任何语句之前对代码进行标记。
一种解决方法是将您的工作代码分离到不同的模块中,并在 main.py
中仅放置一个警告例如
import sys
if sys.version_info < (3, 5):
print("Sorry requires Python 3.6 or greater")
sys.exit(1)
else:
import MyCoreModule
MyCoreModule.main()