如何在Python中键盘输入后不再需要按Enter键?

Mary-Kate Olsen
发布: 2024-11-11 10:26:02
原创
739 人浏览过

How to Eliminate the Need to Press Enter After Keyboard Input in Python?

消除通过键盘输入按 Enter 的需要

在 shell 中使用 Python 的 raw_input 函数进行用户交互时,会出现一个常见问题:用户在提供输入后必须按 Enter 键。要消除此额外步骤,请考虑以下解决方案:

对于 Windows 环境

Windows 系统提供 msvcrt 模块,其中包含 getch 函数。此函数捕获按键,无需回显到控制台,也不需要按下 Enter 键。

对于基于 Unix 的环境

Unix 系统缺乏内置的 getch函数,但可以使用以下配方创建类似的函数:

import termios, fcntl, sys, os

def getch():
    fd = sys.stdin.fileno()
    oldterm = termios.tcgetattr(fd)
    newattr = termios.tcgetattr(fd)
    newattr[3] = newattr[3] & ~termios.ICANON & ~termios.ECHO
    termios.tcsetattr(fd, termios.TCSANOW, newattr)
    c = None
    try:
        c = os.read(fd, 1)
    finally:
        termios.tcsetattr(fd, termios.TCSAFLUSH, oldterm)
    return c
登录后复制

此函数从键盘读取单个字符无需 Enter 键,提供所需的无缝用户输入体验。

以上是如何在Python中键盘输入后不再需要按Enter键?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板