Skip to main content

控制台设置/集。可更改控制台设置,或获取控制台输入流

Project description

Console Set (conset)

一个控制台交互库,用于实时获取终端输入和配置控制台设置。

系统要求

支持的平台

  • 操作系统:Windows 10/11 (64位)
  • 终端:Windows 终端、命令提示符 (cmd)、PowerShell
  • 架构:x64/AMD64
  • Python:3.14 或更高版本

不支持的平台

  • 32位 Windows 系统
  • Linux 或 macOS
  • ARM 架构 Windows
  • Python 2.x

安装

PyPI安装(推荐)

pip install conset

验证安装

python -c "import conset; print('conset 安装成功')"

快速开始

基础示例

import conset

# 获取控制台输入事件
events = conset.conin()

if events: # 如果读取到了事件
    latest_event = events[-1] # 列表的最后一个元素是读取到的最近的一个事件

    # 处理事件
    mouse = latest_event.get("mouse")
    keyboard = latest_event.get("keyboard")
    buffer = latest_event.get("buffer")
    if mouse: # 如果是鼠标事件
        print("鼠标位置:y = ", mouse["pos"]["y"], ", x = ", mouse["pos"]["x"])
    elif keyboard: # 如果是键盘事件
        if keyboard["keydown"]:
            print("按键:", keyboard["keyname"])
    elif buffer: # 如果是缓冲区大小事件
        print("缓冲区大小:y = ", buffer["y"], ", x = ", buffer["x"])
    else: # 事件读取失败
        print("事件读取失败")

API 参考

is_admin()函数

判断当前程序是否为管理员权限。

参数

  • 不支持传入参数。

返回值

  • True:当前程序拥有管理员权限。
  • False:当前程序没有管理员权限。

reboot_to_admin()函数

当程序不是管理员权限时,将会以管理员权限打开新程序。此时旧程序应当直接结束运行。

参数

  • 不支持传入参数。

返回值

  • True:当前程序并非管理员权限,已以管理员身份重新启动原程序。推荐结束当前程序。
  • False:当前程序已拥有管理员权限,无需重新启动程序。
  • None:当前程序并非源于可用于执行的文件,无法处理。

conset()函数

会更改运行程序的控制台的一些设置。

参数

  • 可选参数title:仅支持以关键字方式传入字符串值,会将控制台标题更改为传入的字符串。不传入值则默认不更改标题。

返回值

  • None

备注

  • 当此函数传入了任意参数时,仅会更改参数对应的配置。而未传入参数时,其将对控制台进行默认配置。
  • 此函数更改的设置会在部分情况下被覆盖或失效。
  • 此函数在import时会自动运行。

conin()函数

获取在控制台下鼠标与键盘的状态和缓冲区大小。

参数

  • 不支持传入参数。

返回值

  • 控制台输入事件列表。

备注

  • 以下列举连续发生了三种不同事件时的返回值结构。
[ # 返回的列表(读取到了 3 个事件)
    { # 鼠标事件(最早发生的事件)
        "mouse": {
            "pos": {
                "y": int, # 鼠标 y 轴坐标。从上到下
                "x": int # 鼠标 x 轴坐标。从左到右
            },
            "button": {
                "left": bool,
                "right": bool,
                "middle": bool
            }
            "flag": str # "default", "move", "double", "wheel", "hwheel"
        }
    },
    { # 键盘事件(第二个事件)
        "keyboard": {
            "keydown": bool,
            "keyname": str, # [按键名] 或 None
            "repeat": int # 刚按下时为 1,按住时逐渐增长
            "control": {
                "ralt": bool, "lalt": bool,
                "rctrl": bool, "lctrl": bool,
                "shift": bool, "numlock": bool,
                "scrolllock": bool, "capslock": bool,
                "enhancedkey": bool
            }
        }
    },
    { # 缓冲区大小事件(最近一次发生的事件)
        "buffer": {
            "y": int, # 缓冲区 y 轴长度。从上到下
            "x": int # 缓冲区 x 轴长度。从左到右
        }
    }
]

更新日志

最近版本

  • v0.1.0 (2025-12-29):
    • 新增了is_admin()reboot_to_admin()
    • coninit()重构更改为conset()。支持可选关键字参数title
    • 重构conin()并更改了其返回值。且提升了其安全性。
  • v0.0.2 (2025-12-02):修复了conin()返回字典中控制键的映射错误。
  • v0.0.1 (2025-12-02):基础功能发布。

许可证

这是专有软件。请查看 LICENSE 文件了解详细条款。
重要: 使用本软件即表示您同意遵守许可证条款。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

conset-0.1.0.tar.gz (27.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

conset-0.1.0-py3-none-win_amd64.whl (25.7 kB view details)

Uploaded Python 3Windows x86-64

File details

Details for the file conset-0.1.0.tar.gz.

File metadata

  • Download URL: conset-0.1.0.tar.gz
  • Upload date:
  • Size: 27.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for conset-0.1.0.tar.gz
Algorithm Hash digest
SHA256 dcaf267601d8330a8ae1914919b5923d9cf075d52442a6a7add5e5821efc3194
MD5 a053d3648cd37b7571065d49d68bf500
BLAKE2b-256 edcb15289ea2ee67333b823939e459448df5ba8323e8dee608b5fff98e442221

See more details on using hashes here.

File details

Details for the file conset-0.1.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: conset-0.1.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 25.7 kB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for conset-0.1.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 0fd421174f0f296ee2c2a6f79c01f6f5e05f39e492be10b090cce4c891d1c850
MD5 c863993c27db92fe37cb4355efe5d098
BLAKE2b-256 bb68927b964cd9b1af248f8d7123c6d0b17321402a6697c7d6799b4ed70a6df9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page