标签: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