网站首页 > 技术文章 正文
简介
当我们编写 Python 程序时,我们经常需要与用户进行交互,接收输入并输出结果。Python 提供了许多方法来实现这一点,其中一个非常方便的方法是使用 typer 库。typer 是一个用于构建命令行应用程序的 Python 库,它使得创建命令行界面变得简单而直观。
想象一下,你正在编写一个程序,用于管理你的待办事项。你希望用户能够通过命令行界面添加、删除和列出任务。使用 typer 库,你可以轻松地实现这些功能。
安装
首先,你需要安装 typer 库,可以使用以下命令在命令行中安装它
pip install typer
基本用法
安装完成后,你可以开始编写代码。让我们从一个简单的示例开始,创建一个命令行应用程序,用于添加和列出待办事项。
import typer
app = typer.Typer()
@app.command()
def add_task(task: str):
# 在这里实现添加任务的逻辑
typer.echo(f"添加任务:{task}")
@app.command()
def list_tasks():
# 在这里实现列出任务的逻辑
tasks = ["任务1", "任务2", "任务3"]
typer.echo("待办事项列表:")
for task in tasks:
typer.echo(task)
if __name__ == "__main__":
app()
在这个例子中,我们首先导入了 typer 库,并创建了一个 Typer 对象,命名为 app,然后,我们使用 @app.command() 装饰器定义了两个命令函数: add_task 和 list_tasks。
add_task 函数用于添加任务。它接收一个名为 task 的参数,表示要添加的任务内容。在函数体内,你可以实现添加任务的逻辑,在这个例子中,我们只是简单地打印出要添加的任务。
list_tasks 函数用于列出任务。在函数体内,你可以实现列出任务的逻辑,在这个例子中,我们只是简单地创建了一个包含一些示例任务的列表,并使用 typer.echo 函数将它们打印出来。
最后,我们在 main 中调用 app() 方法。
现在,你可以在命令行中运行这个脚本,并使用 add_task 和 list_tasks 命令来添加和列出任务。例如:
python test.py add-task "购物"
python test.py list-tasks
程序输出如下
(notes) PS D:\Works\Gogs\Notes> python.exe test.py add-task "购物"
添加任务:购物
(notes) PS D:\Works\Gogs\Notes> python.exe test.py list-tasks
待办事项列表:
任务1
任务2
任务3
通过这个简单的示例,你可以看到使用 typer 库创建命令行应用程序是多么简单和直观。你只需要定义命令函数,并使用 @app.command() 装饰器将它们与 Typer 对象关联起来。typer 库会自动处理命令行参数的解析和帮助文档的生成,让你可以专注于实现功能逻辑。
python typer
当然,这只是 typer 库的基本用法。它还提供了许多其他功能,例如处理选项参数、自定义帮助文档、处理用户输入等,感兴趣的话,可以查阅 typer 库的官方文档以了解更多详细信息,地址
https://typer.tiangolo.com/。
猜你喜欢
- 2025-06-30 如何利用企业微信做一个免费发送微信消息的站点
- 2025-06-30 linux下远程管理命令-关机与重启(linux远程主机关闭连接)
- 2025-06-30 如何阻止输入 Python 命令时打开 Microsoft 商店?
- 2025-06-30 Python中subprocess模块:轻松调用外部程序与命令
- 2025-06-30 Python 的退出命令:quit()、exit()、sys.exit() 和 os._exit()
- 2025-06-30 Argparse:一个具体案例教会你python命令行参数解析
- 2025-06-30 实现Python命令行操作的基本步骤(python在命令行下编写代码)
- 2025-06-30 Java & Python 康威生命游戏 - 命令行版
- 2025-06-30 分享7个 Python CLI 库,助您快速构建高效命令行应用程序
- 2025-06-30 告别命令行!用Gooey几行代码为Python脚本变身华丽GUI
- 272℃Python短文,Python中的嵌套条件语句(六)
- 271℃python笔记:for循环嵌套。end=""的作用,图形打印
- 269℃PythonNet:实现Python与.Net代码相互调用!
- 264℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 264℃Python实现字符串小写转大写并写入文件
- 123℃原来2025是完美的平方年,一起探索六种平方的算吧
- 104℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 99℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
-
- 【全200集】最完整的Python教程,7天零基础入门Python,动画
- Manim,超酷python库-创建精美数学动画
- 清华大学教授带你看动画,学python,零基础入门,初识python
- PYTHON做的白云动画(python 动画)
- 最完整的Python动画教程,7天零基础入门Python
- Python 获取公司前十大股东数据(python tushare获取股票数据)
- 10个用于Web开发的最好 Python 框架
- wxPython和PyQt谁才是最赞的Python GUI库
- 如何利用企业微信做一个免费发送微信消息的站点
- linux下远程管理命令-关机与重启(linux远程主机关闭连接)
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)