笔记本做网站seo关键词排名优化技巧
1.最基本的option是单值的,如果没有指定类型,那么则为string。option的默认值用default指定。
@click.command()
@click.option('--n', default=1)
def dots(n):click.echo('.' * n)
执行$ dots --n=2,输出…
2.多值选项
当参数的值大于1个是,用参数nargs指定参数个数,option的参数个数是固定的。参数将以tuple的格式传递给变量。
@click.command()
@click.option('--pos', nargs=2, type=float)
def findme(pos):click.echo('%s / %s' % pos)
执行findme --pos 2.0 3.0,输出2.0 / 3.0
3.用tuple指定多个值的类型
在上一个列子中两个参数的类型是相同的,但这可能并不是你想要的,有时候需要两个不同类型的值。那么可以这样。
@click.command()
@click.option('--item', type=(unicode, int))
def putitem(item):click.echo('name=%s id=%d' % item)
当type参数为tuple类型时,nargs为type的长度。
putitem --item peter 1338,输出name=peter id=1338
4.多个相同选项
类似但不同于多值选项,有时候需要多次输入相同的选项。
@click.command()
@click.option('--message', '-m', multiple=True)
def commit(message):click.echo('\n'.join(message))
执行commit -m foo -m bar 输出:
foobar
5.计数
@click.command()
@click.option('-v', '--verbose', count=True)
def log(verbose):click.echo('Verbosity: %s' % verbose)
执行log -vvv,输出Verbosity: 3
6.boolean标记
布尔标记是用来启用或禁用的选项,你可以用/分隔符来实现启用或禁用选项。(当/在选项名中的时候,click就会认为它是个Boolean标记)。
import sys@click.command()
@click.option('--shout/--no-shout', default=False)
def info(shout):rv = sys.platformif shout:rv = rv.upper() + '!!!!111'click.echo(rv)
执行:
$ info --shout
LINUX2!!!!111
$ info --no-shout
linux2
也可以不用/,而是用is_flag参数告知click这是一个boolean标记。
@click.command()
@click.option('--shout', is_flag=True)
def info(shout):rv = sys.platformif shout:rv = rv.upper() + '!!!!111'click.echo(rv)
boolean值默认是false.
7.提示
如果option未输入时,提示。使用prompt参数,prompt=True则使用默认提示,也可以prompt=“使用自定义提示语”
@click.command()
@click.option('--name', prompt='Your name please')
def hello(name):click.echo('Hello %s!' % name)
执行:
$ hello
Your name please: John
Hello John!
8.密码
隐藏输入字符,并两次输入确认。
@click.command()
@click.option('--password', prompt=True, hide_input=True,confirmation_prompt=True)
def encrypt(password):click.echo('Encrypting password to %s' % password.encode('rot13'))
执行:
$ encrypt
Password:
Repeat for confirmation:
Encrypting password to frperg
更简单的:
@click.command()
@click.password_option()
def encrypt(password):click.echo('Encrypting password to %s' % password.encode('rot13'))
其他可以去参考简书大佬:
https://www.jianshu.com/p/6a533a892167