使用用户inpu自动完成文件路径

2024-05-13 01:52:01 发布

您现在位置:Python中文网/ 问答频道 /正文

(Python)

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

差不多: variable=raw_input('Filepath:'),然后Filepath具有与shell中类似的自动完成函数。

我不局限于python,我愿意使用任何语言,只要我可以将变量设置为filepath并使用autocomplete功能获取filepath。

我看到过这个:Tab completion in Python's raw_input()它帮助我了解要查找的内容,尽管问题是它需要在文件路径前面有一个命令,比如“extra”。我需要将变量设置为文件路径。你可能会认为这很简单,但我在任何地方都没有找到很多,我找到的那几个也不是我想要的。

在bash中,有一个read-e命令可以在命令行中运行,但是在一个奇怪的脚本中无法识别它。这正是我要找的,如果它可以在脚本中使用,将变量设置为自动完成的文件路径。


Tags: 文件函数用户命令路径脚本inputreadline
2条回答

像这样的?

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,我想可能有人会破解它,并给你带来各种各样的问题。。。或者别的什么,但这是我让bash和python一起玩得很好的一种方式。

import subprocess

the_file=subprocess.check_output('read -e -p "Enter path file:" var ; echo $var',shell=True).rstrip()

相关问题 更多 >