使用目录列表,分配输入选项并打印

时间:2018-04-25 02:46:58

标签: python

非常新的python,并有一个“python块”,我正在努力解决。我想查询特定的linux目录中的文件(可以是目录中的任意数量的文件),然后显示(打印)文件列表以供用户输入选择;如下:

Please choose your option:

1 - somecode.py

2 - somefile.txt

3 - someotherfile.j2

从目录中提取上述文件名,并为选项编号添加前缀并显示供用户选择。到目前为止,我可以拉出目录列表并进行打印,但是将卡片拉入用户输入功能以便正确显示和用户选择。

如果我只是将目录中的文件拉出来看起来不错,但是该部件有关将选项varibale添加到列表前面并显示用户输入的问题。

for filename in os.listdir('./templates'):

    print(filename)

它看起来像这样:

cisco_tmpl.j2

juniper_tmpl.j2

nxos_tmpl.j2

很多时候我会尝试各种方法来解决这个问题,并且非常感谢任何帮助。

由于

2 个答案:

答案 0 :(得分:0)

如果您只想在文件名前添加用户选择选项,请尝试以下操作:

file_no = 1

for filename in os.listdir('./templates'):

    print(str(file_no) + "- " + filename)

    file_no += 1

然后询问用户他们想要选择哪一个:

selected_file = int(input("Select a file..."))

if selected_file == 1:

    #do stuff

elif selected_file == 2:

    #do some other stuff

#etc

答案 1 :(得分:0)

只需存储listdir并使用用户输入

从列表中索引文件名
files = os.listdir('./templates')

for index,file in enumerate(files):
    print('{num} - {dir}'.format(num=index+1,dir=file))

x = input('choose a file')

print(files[x-1])