python - Python 2.6 在解析整个脚本之前不会抛出断言错误
问题描述
在继续之前,我在 Python 中使用了一个简单的代码来断言新版本。这是代码: -
import sys
assert sys.version_info >= (3, 5)
print(f"New formatting style")
通过 Python 2.6 解释器运行该代码会返回一个 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()
推荐阅读
- javascript - 文件 index.js 中的 document.getElementById(id),它是 javascript 客户端吗?
- wordpress - 我们如何在 WordPress 网站中添加 Mesibo 聊天?
- python - 使用 Psycopg2 将 JPEG 文件名插入 PostgreSQL 表会导致“字符串格式化期间并非所有参数都转换”错误
- javascript - 如何在 JavaScript 中释放资源?
- reactjs - 如何在 React 功能组件中向左或向右滚动到某个 div (For Image Slider)
- javascript - AWS - Lambda 执行失败
- sql-server - 带空格的 SQL 表名
- python - 尝试在python(熊猫)中标记二维空间内的区域
- ios14 - Siri 在使用 INSendPaymentIntent 时读取 CFBundleName 而不是 CFBundleDisplayName
- jquery - 如何使用 Jquery 函数在具有相同类名的元素组中切换特定 HTML 元素的类名