标签:bsp 内容 encoding end for test window pytho 迭代
1 windows的默认打开方式是GBK, Linux的默认打开方式是UTF-8
f = open("test") data = f.read() print(data)
2 正常读取时需要添加上encording且打开文件之后需要关闭
正常情况下, 程序结束后会执行close(), 但是为了养成良好的习惯及时释放内存, 注意open()之后需要close()
f = open("test", encoding="utf-8") data = f.read() print(data) f.close()
3 read()方法
read()方法的单位是 字符 , 返回一个可迭代对象,迭代出来的内容是逐个字符
read()里面可以放数字, 一个数字表示从头开始读几个字符
f = open("test", encoding="utf-8") data = f.read(5) print(data) f.close()
4 读取的时候的光标的概念
read()函数读一下光标向后移动一下
f = open("test", encoding="utf-8") data = f.read(5) data2 = f.read(5) print(data) print(data2) f.close()
5 readline()读取一行
f = open("test", encoding="utf-8") data = f.readline() print(data) f.close()
6 readlines()读取多行
f = open("test", encoding="utf-8") data = f.readlines() for i in data: # print(i) # print(i.strip()) print(i, end="") f.close()
readlines()与read()都可以返回一个可以迭代的对象, 但是readlines的单位是行, read()的单位数字符
7 判断是否可读
f = open("test", encoding="utf-8") print(f.readable()) f.close()
8 readlines()的优化
readlines()的缺点是需要不少内容, 在想使用文件的迭代类型的时候可以直接用文件对象进行遍历
f = open("test", encoding="utf-8") count = 0 # for line in f.readlines(): # 这样操作比较费内存 # for line in f.read(): # 这个返回的对象是一个字符一个字符的 for line in f: # 注意此处的f是一个迭代器 这么操作更加的省内存 if count == 3 : line = "".join([line.strip(), "===> 岳飞"]) print(line, end="") count += 1 f.close()
标签:bsp 内容 encoding end for test window pytho 迭代
原文地址:http://www.cnblogs.com/weihuchao/p/6669993.html