在python中读取文件

时间:2012-11-06 07:10:34

标签: python

Python学习者。所以请原谅。 我关注:http://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files

我想读一个文件;这是我的档案:

# cat test 
line1 word1
line2 word2
line3 word3
line4 word4

这里是我的代码:

>>> f = open ('test')
>>> for line in f:
...     print f
... 
<open file 'test', mode 'r' at 0xb7729180>
<open file 'test', mode 'r' at 0xb7729180>
<open file 'test', mode 'r' at 0xb7729180>
<open file 'test', mode 'r' at 0xb7729180>

我如何以及为何获得高于输出?我希望它每行打印一行。 我在这里想念的是什么看看上面提到的链接,我的语法似乎没问题,但输出不是

感谢。

5 个答案:

答案 0 :(得分:3)

在迭代过程中,您正在打印f而不是line变量。

>>> f = open ('test')
>>> for line in f: 
...        print line

答案 1 :(得分:2)

您正在打印文件句柄,将 打印f 替换为 打印行

f = open ('test')
for line in f:
    print line

答案 2 :(得分:2)

for line in open('test')
    print line

答案 3 :(得分:0)

您必须使用readline函数读取行。然后它将每行转换为列表值。那是你可以做你的声明。

答案 4 :(得分:0)

for line in f:

这意味着'遍历f的内容,将每个项目分配给名为'line'的变量。不是相反的。 f不会改变..这是你从中获取数据的内容,而不是你分配给它的变量。

那就是说,我看到的另一个答案来自名字以'D'开头的人......是正确的:你想要print (line),而不是print(f)。我用()编写它是因为它是一个很好的习惯,它使你的代码兼容Python 2.x和Python 3.x.