版本上的Python变量注释和语法错误< 3.6

问题描述 投票:0回答:1

我有下一行

status_dict : dict =  result.get('status', {})

我正在使用变量注释,以使我的编码更容易(自动完成)。 它在 python >= 3.6 上运行完美,但在旧版本上我得到了

File "/home/marcel/work/py/svn_utils.py", line 261
    status_dict : dict =  svn_result.get('status', {})
                ^
SyntaxError: invalid syntax

知道如何让代码抛出有意义的错误消息,例如“需要 Python 3.6 或更高版本”。

到目前为止我所尝试的:在脚本的开头我添加了下一行

import sys
MIN_PYTHON = (2, 6)
if sys.version_info < MIN_PYTHON:
    sys.exit("Python %s.%s or newer is required.\n" % MIN_PYTHON)

但它不起作用,因为首先是解析器抱怨语法。

我看到包装脚本来检查最低版本并决定是否执行主脚本的唯一解决方案。 但也许还有其他解决方案,以避免包装器。

python variables annotations version minimum
1个回答
0
投票

为此目的有一个

typing
模块。例如,如果您想注释字典,请编写
from typing import Dict
并执行相同操作,只需将
dict
替换为
Dict

请参阅帮助此处此处

© www.soinside.com 2019 - 2024. All rights reserved.