尝试使用open()函数失败

时间:2017-03-15 15:54:45

标签: python python-3.x ubuntu

我正在尝试学习在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'>

我明白这意味着什么,但为什么我没有得到内容?

3 个答案:

答案 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())