欢迎访问宙启技术站
智能推送

python获取键盘输入的方法有哪些

发布时间:2023-05-14 10:40:41

键盘输入是计算机中非常常见的一种操作,我们可以使用 Python 来实现这个功能。Python 提供了多种获取键盘输入的方法,这些方法可以帮助我们获取用户的输入,并将输入用于程序中的某些计算和操作中。本文将介绍 Python 中获取键盘输入的方法,包括 input、getpass、curses、readline 等库。

方法一:input

input() 是 Python 中基本的等待用户键盘输入的方法,使用 input() 函数,程序会在这里暂停运行以等待用户输入信息,并将用户输入信息存储为一个字符串。 input() 函数返回字符串格式数据。

语法:

input([prompt]) 

参数:

- prompt:字符串,用作输入时提示用户的字符串,如果没有指定则不输出提示字符串。

示例代码:

name = input('请输入您的姓名:')

print('您好,', name)

运行以上代码,程序会在控制台输出 “请输入您的姓名:” 这个提示字符串,等待用户键入信息,当用户键入信息并按下回车键时,程序将该信息赋值给 name 变量,然后输出 “您好,‘name’” 的信息。

方法二:getpass

getpass 模块允许用户在终端里输入密码,而不是使用明文输入。这个模块隐藏了从终端读取密码的方式。

语法:

getpass.getpass([prompt [, stream]])

参数:

- prompt:在获得输入之前,用于向用户提供有关要求输入的信息的字符串,默认值为 'Password:'

- stream:用于提交提示信息的文件流类对象。默认情况下使用 stdin。

示例代码:

import getpass

 

password = getpass.getpass()

print('您输入的密码: ', password)

运行以上代码,控制台会输出 “Password: ” 提示字符串,并隐藏用户输入的密码。

方法三:curses

curses 是一个基于终端的 GUI 库,主要针对的是终端设备和Shell脚本程序接口,可以用于处理所有的用户输入和输出交互。curses 是Python内置的一个模块。

curses 实现了类似于 ncurses 库的屏幕处理能力,它能够从终端上得到 line-drawing characters 等文本效果。

常用的方法:

- initscr(): 初始化终端

- getch(): 从终端获得字符

- endwin(): 终止 curses 模式

示例代码:

import curses

 

def main(stdscr):

    stdscr.addstr(0, 0, '按下q键退出')

    while True:

        key = stdscr.getch()

        stdscr.refresh()

        if key == ord('q'):

            break

 

 

curses.wrapper(main)

运行以上代码,程序会在控制台输出 “按下q键退出” 这个提示字符串,并进入 curses 模式,可以不断输入 q 退出。

方法四:readline

readline 是 Python 中的标准库,用于交互式命令行操作中获取键盘输入。 readline 库可以在输入时显示一个候选列表,来帮助用户快速输入。

参数:

- readline([prompt])

示例代码:

import readline

 

def input_with_history(prompt):

    readline.set_history_length(3)

    readline.clear_history()

    reply = None

    while not reply:

        reply = input(prompt + '

')

    return reply

 

 

if __name__ == '__main__':

    result = input_with_history('请输入您的姓名:')

    print('您好,', result)

运行以上代码,控制台会输出 “请输入您的姓名:” 这个提示字符串,当用户键入信息,在下一次进入 readline() 函数时,可以使用上次的命令行历史记录。