选项卡控制台中python脚本执行的自动完成
我遇到了这个“问题”(因为没有更好的词),每当我运行带有参数的python脚本时,我都不能使用Unix控制台的tab completion函数。例如,当我想在脚本执行中放入一个文件时。 希望这个例子能更好地说明我的问题 案例1选项卡控制台中python脚本执行的自动完成,python,shell,python-3.x,unix,execution,Python,Shell,Python 3.x,Unix,Execution,我遇到了这个“问题”(因为没有更好的词),每当我运行带有参数的python脚本时,我都不能使用Unix控制台的tab completion函数。例如,当我想在脚本执行中放入一个文件时。 希望这个例子能更好地说明我的问题 案例1 >python3 script.py [tab] folder/ folder1/ data.dat 案例2 >python3 script.py -f d [tab] folder/ folder1/ (file data.dat not show
>python3 script.py
[tab]
folder/ folder1/ data.dat
案例2
>python3 script.py -f d
[tab]
folder/ folder1/ (file data.dat not showing)
理想情况
>python3 script.py -f data.dat - n 2 ....
希望我说清楚了,有人能给我解释一下,我猜python不允许这样做,或者需要以某种方式进行配置
我在脚本中使用了argparse
,使用的是常规代码
ap.add_argument('-f', '--file', type=str, action='store', help='Input file.',metavar='FILE')
我已经尝试过type=argparse.FileType('r')
,但都是一样的
我想实现这一点,因为我目前正在处理的文件有很长的名称,并且要求不要每次都写文件名
无论如何,谢谢你的阅读。好的,谢谢你围绕这个问题所做的工作。使用Python3.5,我可以实现我想要的,即在执行python脚本时在bash中自动完成文件名 所以
> python3 script.py
[tab]
folder/ folder1/ data.dat
> python3 script.py -f d
[tab]
folder/ folder1/ (file data.dat not showing)
使用python 3.5
> python3.5 script.py -f d
[tab]
folder/ folder1/ data.dat
这几页也让我找到了一些有价值的答案
再次感谢。它与python完全无关。你用的是什么shell/OS?Debian8Wheezy或Ubuntu16.04,两者都一样,默认的是shell。我猜是bash。这在bash中非常适合我,尽管我没有使用与您相同的发行版。它应该根据您键入的最后一个字母进行过滤,因此如果您键入
-fd
,我不希望它显示文件夹
或文件夹
/`因为它们都不是以d
开头的。是的,我知道,如果键入-fd
,我希望会显示文件数据.dat
。但事实并非如此