python获取键盘输入的方法有哪些
键盘输入是计算机中非常常见的一种操作,我们可以使用 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() 函数时,可以使用上次的命令行历史记录。
