"""
处理文件:open(文件名, 模式,编码)
'r' 打开阅读(默认)
'w' 打开写入,首先截断文件
'x' 打开独占创建,如果文件已经存在则失败
'a' 打开写入,追加到文件末尾(如果存在)
'b' 二进制模式
't' 文本模式(默认)
'+' 打开磁盘文件进行更新(读取和写入)
"""
# 用with上下文的方式时,一旦跳出次上下文,会自动关闭当前操作的文件
# 覆盖写入, w(write)
with open('hello.txt', 'w', encoding='utf8') as f:
f.write('xxxx') # 写入内容
# 追加写入, a(append)
with open('hello.txt', 'a', encoding='utf8') as f:
f.write('123123123') # 写入内容
# 读, r (read),可以不用写r
with open('hello.txt', 'r') as f:
f.read() # 读取所有信息
f.readline() # 每执行一次就读取一行,往后推
f.readlines() # 读取所有行,返回列表
# 由于open函数写入的内容是字符串,读取出来也是字符串, 已经不存在对象信息
# 保留写入内容的类型和对象:pickle
import pickle
d = {'a': 1, 'b': 2}
f = open('data.txt', 'wb') # 写入二进制模式
pickle.dump(d, f) # 把d的内容写入到f中
f.close() # 关闭
# 读取
data = pickle.load(open('data.txt', 'rb')) # 读取出来就是原python对象
print(data.get('a'))
print(data.get('b'))