我有一个解压脚本sys.argv
到一个函数中,像这样:
import sys
def do_something(a, b):
"""
It doesn't matter what this function does.
"""
print(a + b)
if __name__ == "__main__":
do_something(*sys.argv[1:])
当我执行脚本时,一切正常(当然,在我的真实脚本中,我确保有足够的参数)。
问题是当我运行这个脚本时pylint 版本 2.6.0,使用 python 3.8.1,我收到以下错误:
************* Module script
script.py:12:4: E1120: No value for argument 'a' in function call (no-value-for-parameter)
script.py:12:4: E1120: No value for argument 'b' in function call (no-value-for-parameter)
这是使用较低版本时不会出现的错误pylint (1.9.5) 与 python 2.7.18
我尝试过拆包sys.argv
在中间变量中,但 pylint 错误没有改变。
有谁知道我是否有办法解决这个问题?
提前致谢。
问题是如果len(sys.argv) != 3
. pylint
不能假设将提供正确的命令行参数。
您可以使用:
if len(sys.argv) >= 3:
a, b = sys.argv[1:]
do_something(a, b)
else:
echo "Usage: python scriptname a b"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)