Board logo

标题: python积累--读写文本文件实例(4) [打印本页]

作者: look_w    时间: 2019-5-16 14:47     标题: python积累--读写文本文件实例(4)

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'>


readlines()一次性读取文本的所有内容,结果是一个list

这种方法读取的文本内容,每行文本末尾都会带一个’\n’换行符 (可以使用L.rstrip(’\n’)去掉换行符)

readlines()的利端:
一次性读取文本内容,速度比较快
readlines()的弊端:
随着文本的增大,占用内存会越来越多

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

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



输出结果:

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


#写文件

写文件使用 write 方法,如下:

with open('/Users/ethan/data2.txt', 'w') as f:
    f.write('one\n')
    f.write('two')


如果上述文件已存在,则会清空原内容并覆盖掉;
如果上述路径是正确的(比如存在 /Users/ethan 的路径),但是文件不存在(data2.txt 不存在),则会新建一个文件,并写入上述内容;
如果上述路径是不正确的(比如将路径写成 /Users/eth ),这时会抛出 IOError;
如果我们想往已存在的文件追加内容,可以使用 ‘a’ 模式,如下:

with open('/Users/ethan/data2.txt', 'a') as f:
    f.write('three\n')
    f.write('four')



#小结
推荐使用 with 语句操作文件 IO。
如果文件较大,可以按字节读取或按行读取。
使用文件迭代器进行逐行迭代。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0