首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从os.listdir创建动态菜单

从os.listdir创建动态菜单
EN

Stack Overflow用户
提问于 2015-06-19 10:24:02
回答 2查看 1.7K关注 0票数 1

如何根据文件夹中的文件数量生成动态菜单项列表?

当前代码检索文件夹中的文件名,但需要生成菜单选项。

代码语言:javascript
复制
from os import listdir
from os.path import isfile, join

folder = "path/folder/to/read/"

file_names = [fn for fn in listdir(folder) if isfile(join(folder,fn))]
print "Select file to manipulate:\n"
for f in file_names: print #Add iterable menu items here somehow

期望的功能:

代码语言:javascript
复制
"Select file to manipulate: 
[1] test.csv
[2] test2.csv
[3] test3.csv"

然后,它应该将raw_input用于123,并在file_names中选择相应的f。然后我将执行folder + ans来创建一个完整的路径path/folder/to/read/test.csv

静态示例:

代码语言:javascript
复制
while ans:
    print ("""
    [1]. Option 1
    [2]. Option 2
    [3]. Option 3
    """)
    ans = raw_input("Select action: ")

    if ans == "1":
        #do something
    if ans == "2":
        #do something else
    if ans == "3":
        #do something different
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-19 17:23:04

做了我自己的解决方案

代码语言:javascript
复制
folder = "path/folder/to/read/"
file_names = [fn for fn in listdir(folder) if isfile(join(folder,fn))]
count = -1
for f in file_names:
    count = count + 1
    print "[%s] " % count + f

while True:
    ans_file = input("Select file: ")
    if ans_file > count:
        print "Wrong selection."
        continue
    path = folder + file_names[ans_file]
    print "Selected file: %s " % path
    break
票数 2
EN

Stack Overflow用户

发布于 2022-01-25 21:07:57

在Python3中:

代码语言:javascript
复制
 from os import listdir
from os.path import isfile, join

folder = "examples/"
file_names = [fn for fn in listdir(folder) if isfile(join(folder,fn))]
count = -1
for f in file_names:
    count = count + 1
    print ("[%s] " % count + f)

while True:
    ans_file = int(input("Select file: "))
    if (ans_file > count):
        print ("Wrong selection.")
        continue
    path = folder + file_names[ans_file]
    print ("Selected file: %s " % path)
    break
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30935781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档