使Python显示目录中的.txt文件

使Python显示目录中的.txt文件,python,Python,我试图创建一个代码,将显示已保存在某些目录下的食谱。运行代码时,即使我将配方输入目录,也不会显示任何内容。首先,您没有打印任何内容。例如 print "Which category would you like to view? Savory, Dessert, Cake, Soup or Drink? " category = raw_input() if category == "Savory": #opens directory according to their answer.

我试图创建一个代码,将显示已保存在某些目录下的食谱。运行代码时,即使我将配方输入目录,也不会显示任何内容。

首先,您没有打印任何内容。例如

print "Which category would you like to view? Savory, Dessert, Cake, Soup or Drink?    "
category = raw_input()
if category == "Savory": #opens directory according to their answer.
    os.listdir("savory")

elif category == "Drink":
    os.listdir("drink")

elif category == "Cake":
    os.listdir("cake")

elif category == "Dessert":
    os.listdir("dessert")

elif category == "savory":
    os.listdir("savory")

elif category == "drink":
    os.listdir("drink")

elif category == "cake":
    os.listdir("cake")

elif category == "dessert":
    os.listdir("dessert")
应该是

os.listdir("savory")
其次,您可以大大缩短代码:

print(os.listdir("savory"))
如果要限制用户访问其他目录:

print("Which category would you like to view? Savory, Dessert, Cake, Soup or Drink?")
print(os.listdir(raw_input().lower()))

打印(os.listdir(raw\u input().lower())
-这就是it@frostnational我可能在这里问得太多了,但有人知道如何将此代码显示为列表而不是像这样:['p.txt','example.txt']如果没有,那就好了。
['p.txt','example.txt']
实际上是一个列表:)如果要将这些文件名放在单独的行中,请执行以下操作:
在os.listdir(类别):print x
@frostnational中执行此操作,但没有结果。有什么想法吗?事实上,没有想法。“无结果”是什么意思?如果用户输入了无效的目录名,可以将其包装在
try
块中?
safe = ['savory', 'dessert', 'cake', 'soup', 'drink']

category = raw_input().lower()
if category in safe:
    print(os.listdir(category))
else:
    print('You have typed an invalid category')