print "Which category would you like to view? Savory, Dessert, Cake, Soup or Drink? "
category = raw_input()
for x in os.listdir(category): print x
name = raw_input("Which recipe would wou like to view? ")
fullname = os.path.join(category, name)
f = open(fullname, "r");
print f
我正在编写一个程序,允许用户查看保存在特定目录中的.txt文件的内容。当我运行此代码时,我没有得到内容,而是收到一条消息说明: 打开文件'savory / b.txt',模式'r'在0x1004bd140
任何想法。我是python的新手,所以我不知道是什么导致错误,但我认为这是由于一些丢失的代码。 谢谢。
答案 0 :(得分:3)
open
的返回值是文件对象(不是文件内容!)。您需要调用文件对象上的方法来实际读取文件:
f = open(fullname, "r")
print f.read()
f.close()
如果它是一个大文件,您可能希望逐行遍历文件
f = open(fullname, "r")
for line in f:
print line
f.close()
在旁注中,这里有替代语法,您不必记得调用close
方法:
with open(fullname, "r") as f:
for line in f:
print line