python中如何使用click
admin
2023-07-05 13:24:12
0

  1.如何安装

  使用命令pip install click或者在PyCharm中安装

  2.隔离环境vitualenv

  linux或MAC上

  sudo pip install virtualenv

  windows

  pip install virtualenv

  43如何激活

  现在,每当您想要处理项目时,您只需激活相应的环境。在OS X和Linux上,执行以下操作:

  $ . venv/bin/activate

  如果您是Windows用户,则以下命令适合您:

  $ venv\scripts\activate

  退出激活

  $ deactivate

  输入以下命令以在virtualenv中激活Click:

  $ pip install Click

  4.click语法

  函数通过装饰来成为Click命令行工具 click.command()。最简单的方法是,使用这个装饰器装饰一个函数会使它成为一个可调用的脚本:

  import click

  @click.command()

  @click.option('--count', default=1, help='Number of greetings.')

  @click.option('--name', prompt='Your name',

  help='The person to greet.')

  def hello(count, name):

  """Simple program that greets NAME for a total of COUNT times."""

  for x in range(count):

  click.echo('Hello %s!' % name)

  if __name__ == '__main__':

  hello()

  根据参数格式执行

  $ python hello.py --count=3

  Your name: John

  Hello John!

  Hello John!

  Hello John!

  自动生成帮助文档

  $ python hello.py --help

  Usage: hello.py [OPTIONS]

  Simple program that greets NAME for a total of COUNT times.

  Options:

  --count INTEGER Number of greetings.

  --name TEXT The person to greet.

  --help Show this message and exit.

  6.打印函数click.echo

  使用echo()而不是常规 print()函数?这个问题的答案是Click尝试以相同的方式支持Python 2和Python 3

  从Click 2.0开始,echo函数也对ANSI颜色有很好的支持

  7.嵌套命令

  使用@click.group()实现命令的嵌套,即可以存在子命令

  @click.group()

  def cli():

  pass

  @click.command()

  def initdb():

  click.echo('Initialized the database')

  @click.command()

  def dropdb():

  click.echo('Dropped the database')

  cli.add_command(initdb)

  cli.add_command(dropdb)

  正如您所看到的,group()装饰器的工作方式与command() 装饰器类似,但创建了一个Group对象,可以为其提供多个可以附加的子命令Group.add_command()。

  对于简单脚本,也可以使用Group.command()装饰器自动附加和创建命令。上面的脚本可以这样编写:

  @click.group()

  def cli():

  pass

  @cli.command()

  def initdb():

  click.echo('Initialized the database')

  @cli.command()

  def dropdb():无锡人流多少钱 http://www.bhnnk120.com/

  click.echo('Dropped the database')

  然后,您将Group在setuptools入口点或其他调用中调用:

  if __name__ == '__main__':

  cli()

  8.增加参数

  添加参数@click.option要添加参数,请使用option()和argument()装饰器:

  @click.command()

  @click.option('--count', default=1, help='number of greetings')

  @click.argument('name')

  def hello(count, name):

  for x in range(count):

  click.echo('Hello %s!' % name)

  生成的帮助文档如下

  $ python hello.py --help

  Usage: hello.py [OPTIONS] NAME

  Options:

  --count INTEGER number of greetings

  --help Show this message and exit.

  生成的帮助文档如下

  $ python hello.py --help

  Usage: hello.py [OPTIONS] NAME

  Options:

  --count INTEGER number of greetings

  --help Show this message and exit.

相关内容

热门资讯

我国科学家为细胞信号“导航”开... 新华社济南5月31日电(记者张力元)人体细胞犹如一座精密的通信城市,每天都有大量“指令”穿梭传递,调...
极端大风突袭哈尔滨!过山车停摆... 极目新闻记者 詹钘5月31日,受强对流天气影响,哈尔滨国际会展中心体育场相关设施受到损坏,原计划当晚...
三原电缆取得电缆接头连接用防护... 国家知识产权局信息显示,上海三原电缆附件有限公司取得一项名为“一种电缆接头连接用防护结构”的专利,授...
原创 识... 还是那句话,机圈苦大屏久已…… 虽然大屏有大屏的美,但是小屏也有小屏的俏。在大屏旗舰占据主流的手机市...
玄戒技术取得分频电路专利,实现... 国家知识产权局信息显示,北京玄戒技术有限公司取得一项名为“分频电路、分频器、射频芯片和电子设备”的专...
为什么今年香会基调明显变了 5月29日—31日在新加坡举行的第23届香格里拉对话会(简称“香会”),见证着元首引领下大国关系继续...
成本几毛钱、假驱蚊液香精兑水,... 入夏升温,蚊虫进入活跃期,驱蚊防护成为民生刚需,《财经调查》持续接到消费者投诉,他们买到的多款网红驱...
越来越多80后90后,正在丧失... 六一儿童节到来之际,朋友圈里开始出现一种熟悉的热闹。有人晒出零食礼包,有人半开玩笑地向伴侣讨礼物,还...
洋保电子取得用于低温环境的电气... 国家知识产权局信息显示,洋保电子(太仓)有限公司取得一项名为“一种用于低温环境的电气柜”的专利,授权...
中日韩飞手争霸宁波!2026无... 潮新闻客户端 记者 陈冲 通讯员 朱凝 5月31日,2026小遛·无人机竞速世界杯(中国·宁波鄞州站...