一个易于读取单个字符和按键的库
项目描述
python-readchar
一个易于读取单个字符和按键的库。
起源于python-inquirer的需求。
安装
简单通过pip
安装
pip install readchar
或者从PyPi下载源代码。
用法
简单地读取一个字符或按键
import readchar
key = readchar.readkey()
对不同的按键做出反应
from readchar import readkey, key
while True:
k = readkey()
if k == "a":
# do stuff
if k == key.DOWN:
# do stuff
if k == key.ENTER:
break
文档
只有两个方法
readchar.readchar() -> str
从stdin
读取一个字符,以长度为1的字符串形式返回。等待直到有字符可用。
由于只有ASCII字符实际上是一个单独的字符,通常需要使用下一个函数,它也处理更长的按键。
readchar.readkey() -> str
从stdin
读取下一个按键,以字符串形式返回。等待直到有按键可用。
按键可以是
- 由
readchar()
返回的单个字符。包括- 普通键的字符: a、Z、9、...
- 特殊字符如 ENTER、BACKSPACE、TAB、...
- 与CTRL的组合: CTRL+A、...
- 由多个字符组成的键
- 光标/箭头字符: 🡩、🡪、🡫、🡨
- 导航键: INSERT、HOME、...
- 功能键: F1 到 F12
- 与ALT的组合: ALT+A、...
- 与CTRL和ALT的组合: CTRL+ALT+SUPR、...
注意 CTRL+C 将不会被
readkey()
返回,而是引发一个KeyboardInterupt
。如果您想自己处理它,请使用readchar()
。
readchar.key
模块
此子模块包含了一组可用的键,以供比较。常量取决于您的操作系统,因此应该完全可移植。如果您的平台上有列出的键,则 readkey()
可以读取它,并且您可以与之比较。
readchar.config
类
此静态类包含 readchar
的配置。它包含在其他代码部分用作类属性的常量。您可以通过覆盖/更改这些来修改其行为。以下是现有属性的描述
INTERRUPT_KEYS
-
将导致
readkey()
引发KeyboardInterrupt
的键列表。
默认:[key.CTRL_C]
操作系统支持
此库积极支持以下操作系统
- Linux
- Windows
某些操作系统已启用,但未积极测试或支持
- macOS
- FreeBSD / OpenBSD
理论上每个基于Unix的系统都应该工作,但它们将不会积极测试。还要求有人提供初始测试结果,然后才能启用操作系统并将其添加到列表中。请随时为此打开一个PR。
谢谢!
如何贡献
您有问题或发现了错误?您有一个很好的新想法,或者只是想修正一个错别字?太好了 :+1:. 我们很高兴接受您的issue或pull request,但首先,请阅读我们的贡献指南。它们还将告诉您如何为这个repo编写代码,以及如何正确准备一个issue或pull request。
版权 (c) 2014-2022 Miguel Ángel García
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。