使用json文件作为配置文件时如果涉及到列表(list)类型,最后一个元素后面千万不能加逗号。
对于较多参数的程序我们可以通过命令行进行参数传入,也可以定义额外的配置文件。
这里我使用json格式的文件作为额外的配置文件。
使用json文件作为配置文件时如果涉及到列表(list)类型,最后一个元素后面千万不能加逗号。
即 ["a"] 是正确的,["a", ] 是不正确的。这个规则适用于所有json文件。
加逗号将报错如下:
Traceback (most recent call last):
File "", line 1, in File "......libjson__init__.py", line 268, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "......libjson__init__.py", line 319, in loads
return _default_decoder.decode(s)
File "......libjsondecoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "......libjsondecoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 16 column 9 (char 491)
其中 raise JSONDecodeError("Expecting value", s, err.value) from None 应该是指,json解析函数认为逗号后面应该还有元素,因此尝试去解析后面的元素,结果却什么也没得到,抛出 json.decoder.JSONDecodeError 错误,告诉你这里本该有值的(”Expecting value: …”)。模块作者有可能受到了其他语言习惯的影响?