我正在尝试学习在python上操作文件,但我无法使open函数起作用。我创建了一个名为foo的.txt文件,其中包含“hello world!”的内容。在我的用户目录(/ home / yonatan)中并将此行键入shell:
open('/home/yonatan/foo.txt')
我得到的回报是:
<_io.TextIOWrapper name='/home/yonatan/foo.txt' mode='r' encoding='UTF-8'>
我明白这意味着什么,但为什么我没有得到内容?
答案 0 :(得分:3)
open()
返回一个文件对象。
然后,您需要使用read()
来阅读整个文件
f = open('/home/yonatan/foo.txt', 'r')
contents = f.read()
或者您可以使用readline()
只读一行
line = f.readline()
并且不要忘记在最后关闭文件
f.close()
答案 1 :(得分:3)
迭代文件行的示例(使用 with
确保 file.close()
在其结尾处被调用词汇范围):
file_path = '/home/yonatan/foo.txt'
with open(file_path) as file:
for line in file:
print line
I / O和文件处理操作的resource很棒。
答案 2 :(得分:-4)
您尚未指定要在其中打开的模式。
尝试:
f = open("home/yonatan/foo.txt", "r")
print(f.read())