Python文件的读写操作
读写模式的区别
读写模式 | 是否可读 | 是否可写 | 文件不存在时 |
---|---|---|---|
r | 是 | 否 | 报错 |
r+ | 是 | 是,覆盖 | 报错 |
w | 否 | 是,覆盖 | 创建新文件 |
w+ | 是 | 是,覆盖 | 创建新文件 |
a | 否 | 是,追加 | 创建新文件 |
a+ | 是 | 是,追加 | 创建新文件 |
文本与二进制模式的区别
默认为文本模式,如果想要读取或写入二进制数据,可以通过参数b
指定:
# 下载图片
img = requests.get(image_url).content
# 存图片
with open("{path}/{img_name}".format(path=path,img_name=img_name),"wb") as f:
# 其实有返回值,返回值为写入行数
f.write(img)
一次性写入多行的操作
# 每一行的内容存入列表
context = ['xxx','yyy','zzz']
# 换行
context = [c+"\n" for c in context]
# 在当前同级目录下创建demo.txt文件并逐行写内容
with open("demo.txt","a",encoding="utf-8") as f:
f.writelines(context)