我正在使用Click库创建一个命令行应用程序,该库接受名称作为输入,但如果没有输入名称,则返回默认值.
这是我到目前为止的代码.
hello.py
import click
@click.version_option(1.0)
@click.command()
@click.argument('string', default='World')
@click.option('-r', '--repeat', default=1, help='How many times should be greeted.')
def cli(string,repeat):
'''This string greets you.'''
for i in xrange(repeat):
click.echo('Hello %s!' % string)
if __name__ == '__main__':
cli()
Run Code Online (Sandbox Code Playgroud)
当我运行它.
$你好
Hello World!
Run Code Online (Sandbox Code Playgroud)
$ hello Bob
Hello Bob!
Run Code Online (Sandbox Code Playgroud)
$ hello Bob -r 3
Hello Bob!
Hello Bob!
Hello Bob!
Run Code Online (Sandbox Code Playgroud)
这正是我想要的.
现在,我希望能够接受来自stdin的输入,如下面的示例所示.
$ echo John | 你好
Hello John!
Run Code Online (Sandbox Code Playgroud)
$ echo John | 你好-r 3
Hello John!
Hello John!
Hello John!
Run Code Online (Sandbox Code Playgroud)