python cli_click python cli 开发包
python click 包是一個(gè)方便的cli 開發(fā)包,我們可以用來開發(fā)強(qiáng)大的cli 應(yīng)用
使用venv 進(jìn)行環(huán)境準(zhǔn)備,示例代碼來自官方
venv 環(huán)境準(zhǔn)備
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()
運(yùn)行
python cli.py
效果
python cli.py
Your name: dalong
Hello, dalong!
制作一個(gè)pip 包
制作pip 包可以方便進(jìn)行我們的代碼分發(fā),還是使用venv 進(jìn)行環(huán)境的準(zhǔn)備
項(xiàng)目結(jié)構(gòu)
├── 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',
],
}
)
本地安裝測(cè)試
pip install .
cli 使用命令
dalongcli --name dalong --count 3
效果
Hello, dalong!
Hello, dalong!
Hello, dalong!
說明
比較好的方法是push 到pip 私服(企業(yè)內(nèi)部),或者push 到公共pip 倉(cāng)庫(kù),方便大家都使用,具體的可以參考 自定義pip 開發(fā)
參考資料
總結(jié)
以上是生活随笔為你收集整理的python cli_click python cli 开发包的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 曝三星正研发新款Exynos芯片 Gal
- 下一篇: GDP怎么看,拉动GDP增长的三驾马车