Python3.4下修复CheckMK Nginx插件语法错误求助
CheckMK Nginx插件Python3.4语法错误修复
问题原因
你遇到的config: dict = {}是**Python类型提示(Type Hints)**语法,这个特性在Python 3.5版本才正式引入,而你的主机运行的Python 3.4.2不支持该语法,因此触发了语法错误。
类型提示的作用是给变量标注预期类型,方便代码阅读和静态检查工具(如pylint)识别,但它不影响代码的实际运行逻辑。
修改方案
只需去掉变量名后的类型标注即可,Python3.4能正常执行修改后的代码:
修改前代码:
config: dict = {}
修改后代码:
config = {}
替换后完整的main函数代码:
def main(): # pylint: disable=too-many-branches config_dir = os.getenv("MK_CONFDIR", "/etc/check_mk") config_file = config_dir + "/nginx_status.cfg" config = {} if os.path.exists(config_file): with open(config_file) as open_config_file: config_src = open_config_file.read() exec(config_src, globals(), config)
修改后脚本可在Python3.4.2环境正常运行,功能与原代码完全一致——因为类型提示原本就不影响代码的实际执行逻辑。
内容的提问来源于stack exchange,提问作者rabudde
相关产品推荐
相关产品推荐

