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

问题描述 投票:0回答:1

我创建了一个非常简单的 CLI 应用程序,它使用 Click 将用户名和密码作为参数。使用

@click.password_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}")
Output:
> None test
python python-3.x authentication python-click
1个回答
1
投票

以下代码按预期工作

import click

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

if __name__ == '__main__':
    register()
$ python3 example.py [email protected]
$ Password:
$ Repeat for confirmation:
[email protected] test
© www.soinside.com 2019 - 2024. All rights reserved.