跳转到主要内容

一个易于读取单个字符和按键的库

项目描述

GitHub Repository Latest PyPi version supported Python versions Project licence
Automated testing results Coveralls results Number of PyPi downloads

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()返回的单个字符。包括
    • 普通键的字符: aZ9、...
    • 特殊字符如 ENTERBACKSPACETAB、...
    • CTRL的组合: CTRL+A、...
  • 由多个字符组成的键
    • 光标/箭头字符: 🡩🡪🡫🡨
    • 导航键: INSERTHOME、...
    • 功能键: F1F12
    • ALT的组合: ALT+A、...
    • CTRLALT的组合: 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

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

readchar-4.2.0.tar.gz (9.7 kB 查看哈希值)

上传时间

构建分布

readchar-4.2.0-py3-none-any.whl (9.3 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面