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

标签 python bash input autocomplete

( python )

我正在寻找获取文件路径的用户输入。这看起来很基本,但我似乎无法让 readline 或 rlcompleter 工作。

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

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

我看过这个:Tab completion in Python's raw_input()这帮助我了解了要查找的内容,尽管问题是它需要在文件路径前面添加一个命令,例如“extra”。我需要将变量设置为文件路径。您可能会认为它非常简单,但我在任何地方都没有找到太多,而且我找到的少数也不是我要找的东西。

在 bash 中有一个可以在命令行中运行的 read -e 命令,但它在脚本中无法识别,这很奇怪。这正是我一直在寻找的东西,如果它可以在脚本内部使用以将变量设置为等于自动完成的文件路径就好了。

最佳答案

是这样的吗?

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? ')

关于python - 使用用户输入的文件路径自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6656819/

相关文章:

python - 如何正确解码 Django HTML 模板中引用的可打印编码

bash - 替换文件中与 Bash 中的字符串匹配的部分行

parsing - 如何在一个非常大的单行文件中找到一个模式和周围的内容?

javascript - 我只想显示单击的一个输入(在 vue.js 上)

python - 创建 AWS Elasticsearch 索引时出现 404 HEAD 问题

python - 使用 pandas GroupBy 检查组中的所有元素是否相等

python - 将参数作为坐标传递

linux - 可以提高此用户名/密码生成器脚本的安全性吗?

html - 无法在 IE 上的输入框中选择文本

javascript - Ionicframework、cordova 和 ios 模拟器表单输入问题