使用用户输入的文件路径自动完成

DeJ*_*Jay 11 python bash autocomplete input

(蟒蛇)

我想要获取文件路径的用户输入.这似乎很基本,但我似乎无法获得readline或rlcompleter工作.

几乎:variable = raw_input('Filepath:')然后文件路径具有自动完成功能,就像在shell中一样.

我不限于python,我愿意使用任何语言,只要我可以将变量设置为文件路径并使用自动完成功能获取文件路径.

我已经看到了这一点: Python的raw_input()中的Tab完成 帮助我了解了要查找的内容,尽管问题是它需要在文件路径前面的命令,例如"extra".我需要将变量设置为文件路径.你会觉得它很简单,但我在任何地方都没有找到太多东西,而我找到的少数并不是我想要的东西.

在bash中有一个read -e命令可以在命令行中运行,但是在一个奇怪的脚本中无法识别它.这正是我正在寻找的,只要它可以在脚本内部使用来设置变量等于自动完成的文件路径.

Luk*_*uke 28

像这样的东西?

import readline, glob
def complete(text, state):
    return (glob.glob(text+'*')+[None])[state]

readline.set_completer_delims(' \t\n;')
readline.parse_and_bind("tab: complete")
readline.set_completer(complete)
raw_input('file? ')
Run Code Online (Sandbox Code Playgroud)