Python读取文件的三种方式

深度学习往往需要处理各种类型的数据,比如XML,txt,json等等。这里介绍利用Python读取文本文件内容的三种方法:read()、readline() 和 readlines()。

假设 sxl.txt文件内容如下:

i like the movie
i ate an egg

read()方法

read()方法表示一次读取文件全部内容,该方法返回字符串。

f = open("sxl.txt")
lines = f.read()
print lines
print(type(lines))
f.close()

输出结果:

i like the movie
i ate an egg
<class 'str'>

readline()方法

该方法每次读出一行内容,所以,读取时占用内存小,比较适合大文件,该方法返回一个字符串对象。

f = open("sxl.txt")
line = f.readline()
while line:
    print (line)
    print(type(line))
    line = f.readline()
f.close()

输出结果:

i like the movie
<class 'str'>
i ate an egg
<class 'str'>

readlines()方法

readlines()方法读取整个文件所有行,保存在一个列表(list)变量中,每次读取一行,但读取大文件会比较占内存。

f = open("sxl.txt")
lines = f.readlines()
for line in lines:
    print (line)
    print(type(line))
f.close()

输出结果:

i like the movie
<class 'str'>
i ate an egg
<class 'str'>

最后还有一种方式,与第三种方法类似。

f = open("sxl.txt")
print (type(f))
for line in f:
    print (line)