非常新的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
很多时候我会尝试各种方法来解决这个问题,并且非常感谢任何帮助。
由于
答案 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])