文件写入、读出的类型
打开类型 | 说明 |
---|---|
r | 读模式(默认模式,可省略),如果文件不存在则抛出异常 |
w | 写模式,如果文件已存在,先清空原有内容 |
x | 写模式,创建新文件,如果文件已存在则抛出异常 |
a | 追加模式,不覆盖文件中原有内容 |
b | 二进制模式(可与其他模式组合使用),使用二进制模式打开文件时不允许指定 encoding 参数 |
t | 文本模式(默认模式,可省略) |
+ | 读、写模式(可与其他模式组合使用) |
JSON
一、JSON字符串处理
1. json.dumps : 将Python数据结构转换为JSON
data = {
'name': 'ACME',
'shares': 100,
'price': [542.23, 98.76]
}
json_str = json.dumps(data) # {"name": "ACME", "shares": 100, "price": [542.23, 98.76]}
2. json.loads : 将一个JSON编码的字符串转换回一个Python数据结构
data = json.loads(json_str)
二、 处理JSON文件 json.dump() 和 json.load()
# Writing JSON data
with open('data.json', 'w') as f:
json.dump(data, f)
# Reading data back
with open('data.json', 'r') as f:
data = json.load(f)
JSON编码支持的基本数据类型为 None
, bool
, int
, float
和 str
, 以及包含这些类型数据的lists,tuples和dictionaries。 对于dictionaries,keys需要是字符串类型(字典中任何非字符串类型的key在编码时会先转换为字符串)。 为了遵循JSON规范,你应该只编码Python的lists和dictionaries。 而且,在web应用程序中,顶层对象被编码为一个字典是一个标准做法。
JSON编码的格式对于Python语法而已几乎是完全一样的,除了一些小的差异之外。 比如,True会被映射为true,False被映射为false,而None会被映射为null。
pickle
1、Python标准库,只支持python的基本数据类型。
2、可以处理复杂的序列化语法,序列化时,只是序列化整个序列对象,而非内存地址。
import pickle
a = {'name':'Tom','age':22}
with open('text.txt','wb') as file:
pickle.dump(a,file) # write
with open('text.txt','rb') as file2:
b = pickle.load(file2) # read
Comments | 0 条评论