python cli_click python cli 开发包

python click 包是一个方便的cli 开发包,我们可以用来开发强大的cli 应用

使用venv 进行环境准备,示例代码来自官方

venv 环境准备

python3 -m venv demoapp

安装

pip install click

基本使用

代码

cli.py

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 _ in range(count):

click.echo("Hello, %s!" % name)

if __name__ == '__main__':

hello()

运行

python cli.py

效果

python cli.py

Your name: dalong

Hello, dalong!

制作一个pip 包

制作pip 包可以方便进行我们的代码分发,还是使用venv 进行环境的准备

项目结构

├── README.md

├── cli

│ └── __init__.py

└── setup.py

代码说明

cli/init.py 核心代码

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 _ in range(count):

click.echo("Hello, %s!" % name)

if __name__ == '__main__':

hello()

setup.py pip 包配置

import setuptools

with open("README.md", "r") as fh:

long_description = fh.read()

setuptools.setup(

name="dalongrong_cli-demo",

version="0.0.1",

author="dalongrong",

author_email="1141591465@qq.com",

description="a simple cli project",

long_description=long_description,

install_requires=['click'],

long_description_content_type="text/markdown",

url="https://github.com/rongfengliang/click-cli-demo.git",

packages=setuptools.find_packages(),

classifiers=[

"Programming Language :: Python :: 3",

"License :: OSI Approved :: MIT License",

"Operating System :: OS Independent",

],

entry_points={

'console_scripts': [

'dalongcli=cli:hello',

],

}

)

本地安装测试

pip install .

cli 使用命令

dalongcli --name dalong --count 3

效果

Hello, dalong!

Hello, dalong!

Hello, dalong!

说明

比较好的方法是push 到pip 私服(企业内部),或者push 到公共pip 仓库,方便大家都使用,具体的可以参考 自定义pip 开发

参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值