首页 > 代码库 > Day19 - 文件操作

Day19 - 文件操作

1 windows的默认打开方式是GBK, Linux的默认打开方式是UTF-8

f = open("test")data = http://www.mamicode.com/f.read()>

技术分享

2 正常读取时需要添加上encording且打开文件之后需要关闭

  正常情况下, 程序结束后会执行close(), 但是为了养成良好的习惯及时释放内存, 注意open()之后需要close()

f = open("test", encoding="utf-8")data = http://www.mamicode.com/f.read()>

3 read()方法

  read()方法的单位是 字符 , 返回一个可迭代对象,迭代出来的内容是逐个字符

  read()里面可以放数字, 一个数字表示从头开始读几个字符

f = open("test", encoding="utf-8")data = http://www.mamicode.com/f.read(5)>

4 读取的时候的光标的概念

  read()函数读一下光标向后移动一下

f = open("test", encoding="utf-8")data = http://www.mamicode.com/f.read(5)>

5 readline()读取一行

f = open("test", encoding="utf-8")data = http://www.mamicode.com/f.readline()>

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 += 1f.close()

  

  

 

Day19 - 文件操作