gpt4 book ai didi

python - 如果脚本使用 Python 2 运行,如何抛出异常?

转载 作者:太空狗 更新时间:2023-10-29 22:11:00 24 4
gpt4 key购买 nike

我有一个只能在 Python 3 上运行的脚本。我想给出一条很好的错误消息,说明如果用户尝试在 Python 2.x 上运行该脚本,则不应在 python2 上运行该脚本

我该怎么做?当我尝试检查 Python 版本时,它仍然会抛出错误,因为 Python 在执行我的 if 条件之前解析了整个文件。

如果可能的话,我宁愿不制作另一个脚本。

最佳答案

您可以编写一个包装器启动脚本,在其中只导入您的实际脚本并捕获语法错误:

try:
import real_module
except SyntaxError:
print('You need to run this with Python 3')

然后,当 real_module.py 使用 Python 3 语法时,当与 Python 3 一起使用时会抛出异常,上面的消息将被打印出来。

当然,除了导入脚本,你还可以先检查版本,然后在版本为3时导入。这样的好处是,即使你运行,你仍然会看到实际脚本的语法错误它与 Python 3:

import sys
if sys.version_info[0] < 3:
print('You need to run this with Python 3')
sys.exit(1)

import real_module

关于python - 如果脚本使用 Python 2 运行,如何抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31240907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com