python中click简单运用

python中click简单运用

一、安装

pip install click

二、参数说明

1、@click.command()

用于将一个函数转换为命令行接口。当使用这个装饰器修饰一个函数时,该函数将被注册为一个可执行的命令,可以通过命令行调用

import click
'''在运行起来的时候没有任何区别'''
@click.command()
def main():
   print("执行main方法")
if __name__ == "__main__":
   main()

2、@click.group()

@click.group()是Python中click包的一个装饰器,用于创建一个命令行组。当使用这个装饰器修饰一个函数时,该函数将作为命令行组的入口点,可以包含其他子命令。通过在命令行中使用组名和子命令名来调用这些子命令。

import click
@click.command()
def fun1():
   print("执行fun1方法")

@click.command()
def fun2():
   print("执行fun2方法")

@click.group()
def main():
   pass
main.add_command(fun1)
main.add_command(fun2)
if __name__ == "__main__":
   main()
#运行时:可以通过命令指定运行不同的方法
test_click> python .\demo1.py fun1
执行fun1方法
test_click> python .\demo1.py fun2
执行fun2方法

3、@click.option()

@click.option()是Python中click包的一个装饰器,用于为命令行接口添加选项参数。它接受以下参数:

  1. name(必需):选项的名称,通常以短横线开头,如-f--file
  2. flag(可选):布尔标志,如果指定,则该选项不需要值。默认为False。
  3. required(可选):布尔值,表示该选项是否必须提供。默认为False。
  4. help(可选):选项的帮助信息,将在命令行中使用--help时显示。
  5. type(可选):选项的数据类型,例如int、float等。
  6. default(可选):选项的默认值。
  7. show_default(可选):布尔值,表示是否在帮助信息中显示默认值。默认为True。
  8. callback(可选):一个回调函数,当选项被设置时调用。
  9. multiple(可选):布尔值,表示该选项是否可以多次使用。默认为False。
  10. expose_value(可选):布尔值,表示是否将选项的值传递给回调函数。默认为True。
import click
@click.command()
@click.option('--input','-i',help="请输入:input内容",type=str,required=True,default='默认值')
def fun2(input):
	print(f"执行fun2方法{input}")

@click.group()
def main():
	pass
main.add_command(fun2)
if __name__ == "__main__":
	main()

运行:

test_click> python .\demo1.py fun2
执行fun2方法默认值
test_click> python .\demo1.py fun2 -i 老铁双击666   
执行fun2方法老铁双击666
test_click> Python .\demo1.py fun2 --help
Usage: demo1.py fun2 [OPTIONS]                   
                                                 
Options:                                         
  -i, --input TEXT  请输入:input内容  [required]
  --help            Show this message and exit.  

import click
@click.command()
@click.option('--username','-u',help="请输入:用户名",type=str,required=True)
@click.option('--e_mail','-e',help="请输入:邮箱",type=str,required=True)
def getUserInfo(username,e_mail):
	print(f"用户名:{username}")
	print(f"邮箱:{e_mail}")

@click.group()
def main():
	pass
main.add_command(getUserInfo)
if __name__ == "__main__":
	main()
test_click> python .\demo1.py getuserinfo --help
Usage: demo1.py getuserinfo [OPTIONS]             
                                                  
Options:                                          
  -u, --username TEXT  请输入:用户名  [required] 
  -e, --e_mail TEXT    请输入:邮箱  [required]   
  --help               Show this message and exit.
test_click> python .\demo1.py getuserinfo -u 张三 -e 
123@qq.com
用户名:张三
邮箱:[email protected] 

4、click.echo()

在这里插入图片描述

click.echo()是Python中click包的一个函数,用于在命令行界面输出文本。它接受一个或多个参数,每个参数代表要输出的文本。

values:可变参数,可以传入任意数量的参数,这些参数将被拼接成一个字符串并输出。

err:布尔值,默认为False。如果为True,则将输出重定向到stderr。

nl:布尔值,默认为True。如果为False,则不会在输出末尾添加换行符。

color:字符串或None,默认为None。如果为字符串,则使用该颜色进行输出。如果为None,则不使用颜色。

file:文件对象,默认为sys.stdout。如果指定了文件对象,则将输出写入该文件。

import click
@click.command()
def fun1():
	click.echo(click.style('这是红色文本', fg='red'))
	click.echo(click.style('这是绿色文本', fg='green'))
	click.echo(click.style('这是蓝色文本', fg='blue'))
@click.group()
def main():
	pass
main.add_command(fun1)
if __name__ == "__main__":
	main()

在这里插入图片描述

你可能感兴趣的:(python,开发语言)