【python学习笔记8】Python文件及文件的读写
- 1 字符串的编码与解码
- 2 文本格式化
- 2.1 %
- 2.2 .format()
- 3 文件读写
- 3.1 txt——写
- 3.2 txt——读
- 3.3 二进制文件——写
- 3.4 二进制文件——读
- 3.5 上下文管理器(写完自动关闭)
- 3.6 追加写入’a’
- 4 三种读取文本的方式
- 4.1 上面的方法f.read()
- 4.2 resdline和readlines
- 4.3 使用迭代读取文件
- 5 结构化文件读写
- 5.1 csv文件
- 5.2 json文件
- 5.3 使用Pickle序列化
1 字符串的编码与解码
运行的程序都是在内存中,这就需要把文件读到内存中,处理完之后存储回硬盘。
编码:s.encode()
解码:bs.decode()
- 默认采用的是utf-8
2 文本格式化
2.1 %
2.2 .format()
3 文件读写
File = open(filename,mode)
mode:读写模式rw, 文本文件 t ,二进制文件 b,默认为文本文件,追加a
File = close()
3.1 txt——写
3.2 txt——读
3.3 二进制文件——写
3.4 二进制文件——读
3.5 上下文管理器(写完自动关闭)
3.6 追加写入’a’
4 三种读取文本的方式
4.1 上面的方法f.read()
(↑缺少close())
4.2 resdline和readlines
- resdline一行一行读,相当于迭代器,记录位置,最后是空的字符串
(↑缺少close()) - readlines 返回列表
4.3 使用迭代读取文件
5 结构化文件读写
5.1 csv文件
带分隔符的文件,常用‘,’也有’\t’和‘|
有标准库import csv
- 一次性写入多行.writerows
- 一次性写入一行.writerow,a追加的形式
- 读取,默认添加空行的解决办法
注:CSV文件用panda读取方便
5.2 json文件
Json是当前非常流行的数据交换格式,很多程序(web)之间的数据交换,就是使用json格式。
import json
jsonfile = json.dumps(a)
a = json.loads(jsonfile)
- 编码和解码
- 并不是所有的数据都可以用json编码,比如下图的now,所以需要使用pickle序列化
5.3 使用Pickle序列化
存储数据结构到文件中称为序列化
import pickle
now1 = datatime.datetime.now()
pikfile = pickle.dumps(now1)
now2 = pickle.loads(pikfile)
- 编码和解码——now
- 编码和解码——列表
把now、列表序列化(存储在一个文件当中)
pickle是python独有的序列化方式,纯python的环境下,保存文件很方便。