为什么我的函数抛出TypeError; num()得到了一个意外的关键字参数'ip'?

时间:2018-03-09 01:01:29

标签: python random

我的目标是创建一个随机int(1-254),但在尝试使用click时不断收到意外的关键字参数错误。我做错了什么?

import click
from random import randint as r

@click.command()
@click.option("--ip", default="192.168.0.1", help="IP Address")
@click.option('--host', default="www.google.com" , help="Host URL")
def num(self):
    x = r(1,254)
    click.echo(x)

if __name__ == "__main__":
    num()

1 个答案:

答案 0 :(得分:0)

您的点击装饰功能需要接受您已定义为参数的选项。此外,self惯用于调用实例方法的对象的参数名称,但您已定义了自由函数。

请注意我对def行的更改:

import click
from random import randint as r

@click.command()
@click.option("--ip", default="192.168.0.1", help="IP Address")
@click.option('--host', default="www.google.com" , help="Host URL")
def num(ip, host):
    x = r(1,254)
    click.echo(x)

if __name__ == "__main__":
    num()