Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python单击模块,如何接受用户名和密码作为参数_Python_Python 3.x_Authentication_Click - Fatal编程技术网

Python单击模块,如何接受用户名和密码作为参数

Python单击模块,如何接受用户名和密码作为参数,python,python-3.x,authentication,click,Python,Python 3.x,Authentication,Click,我创建了一个非常简单的CLI应用程序,它使用Click将用户名和密码作为参数。使用@click.password\u option()我可以屏蔽密码并让用户确认他们的密码,而无需我的任何代码,这非常棒 不过,我注意到,email字段被误认为是None。我相信这是因为我使用的是password.option() 有人对此有解决办法吗?我已经尝试使用Click的Context.invoke()和Context.forward()来传递电子邮件字段,但没有任何帮助 @cli.command() @cl

我创建了一个非常简单的CLI应用程序,它使用Click将用户名和密码作为参数。使用
@click.password\u option()
我可以屏蔽密码并让用户确认他们的密码,而无需我的任何代码,这非常棒

不过,我注意到,
email
字段被误认为是
None
。我相信这是因为我使用的是
password.option()

有人对此有解决办法吗?我已经尝试使用Click的
Context.invoke()
Context.forward()
来传递电子邮件字段,但没有任何帮助

@cli.command()
@click.argument("email", type=str, required=True)
@click.password_option()
def register(email, password):
        click.echo(f"{email} {password}")

以下代码按预期工作

导入单击
@click.command()命令
@click.argument(“email”,type=str,required=True)
@单击.password\u选项()
def注册表(电子邮件、密码):
单击.echo(f“{email}{password}”)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
寄存器()
$python3 example.pyfoo@bar.com
$Password:
$重复确认:
foo@bar.com试验
Output:
> None test