转载:https://www.cnblogs.com/fireflow/p/4841413.html
readline模块定义了一系列函数用来读写Python解释器中历史命令,并提供自动补全命令功能。这个模块可以通过relcompleter模块直接调用,模块中的设置会影响解释器中的交互提示,以及内置函数raw_input()和input()提供的提示。
# readline模块定义了以下方法: readline.parse_and_bind(string): # 解析并执行命令行初始化文件。 readline.get_line_buffer(): # 返回当前命令行缓存的内容。 readline.insert_text(string): # 插入到当前行。 readline.read_init_file([filename]): # 解析一个命令行初始化文件。 readline.read_history_file([filename]): # 读取历史命令文件,默认为~/.history readline.write_history_file([filename]): # 保存历史命令文件,默认为~/.history readline.get_history_length(): # 获取预设的历史命令条数。负数意味着不限制条数大小。 readline.set_history_length(length): # 设置要保存到历史命令文件中的命令条数,write_history_file()使用这个数字对历史命令文件进行修改。 readline.get_current_history_length(): # 返回当前历史文件中历史命令的条数。 readline.get_history_item(index): # 获取index索引指定的历史命令。 readline.remove_history_item(pos): # 删除指定位置的历史命令。 readline.replace_history_item(pos, line) : # 使用给定命令替换指定位置的命令。 readline.redisplay() : # 根据命令行缓存实时更新当前屏幕的显示。 readline.set_startup_hook([function]) : # 设置或删除钩子函数,如果指定了函数,就将其设为钩子函数,
如果没有指定或者设置为None,所有已经安装的钩子函数将被移除,钩子函数在命令行输出提示前执行。 readline.set_pre_input_hook([function]): # 跟set_startup_hook()方法类似,但是钩子函数是在提示输入完之后,命令行开始读取字符串之前执行。 readline.set_completer([function]): # 如果提供了函数,则用作自动完成命令函数,如果忽略或者设置为None,则移除之前设置的函数。
命令自动完成函数形式如function(text,state),text为命令行中输入的字符串,state为选择的的补全命令索引。 readline.get_completer(): # 返回自动完成命令函数。 readline.get_completion_type() : # 返回自动完成的类型。 readline.get_begidx() : # 获取命令行tab自动补全范围的第一个值的索引。 readline.get_endidx() : # 获取命令行tab自动补全范围的最后一个值的索引。 readline.set_completer_delims(string) : # 设置自动补全命令之间的分隔符。 readline.get_completer_delims() : # 获取分隔符。 readline.set_completion_display_matches_hook([function]) : # 设置或者移除自动完成显示函数。 readline.add_history(line) : # 添加最后一条输入的命令到历史文件中。