打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python中的open()方法总结
总结Python中的open()方法
message= {'企业即时通信': 'aaa', '企业名称': 'bbb'}with open("..\\r.txt", "a", encoding="utf-8") as f:f.write(json.dumps(message, ensure_ascii=False)+'\n')f.close()
opne()的第一个参数是路径+文件名,第二个参数是mode打开模式,也就是说你要只读,还是只写,还是读写,第三个参数是编码格式。
Mode打开模式的值:
Mode
描述
r
只读,待打开文件必须存在
w
只写,如果待打开文件已存在,会先清空,不存在则创建
a
只写,如果文件已存在,不会清空,接着往后追加
r+
读写,文件必须存在
w+
读写,如果待打开文件已存在,会先清空,不存在则创建
a+
读写,如果文件已存在,不会清空,接着往后追加
如果想写入的是图片或者视频音频等,那么你需要用二进制形式写入,也就是在mode的后面加一个b,比如下面这段就是将photo这张图写入a.png
import requestsphoto = requests.get("https://mail.263.net/custom_login/images/domain_logo.png")with open("..\\a.png", "wb") as f:f.write(photo.content) # photo.content是photo这张图的二进制写法f.close()
with open("..\\a.png","r+b") as ff: pngdata = ff.read()print(pngdata) #打印出来的和photo.content内容一样
注意为什么我要用with open as这种方式打开文件:
因为如果不使用这种方式,使用最简单的 f = open(“a.png”),必须记得写f.close().而且如果a.png没有找到,会报IOError,这个时候f.close()就调用不到,如果想要无论有没有打开文件都执行关闭文件,就要手动加上try finally…
With open as就不会这么麻烦,会自动帮我们调用f.close(),所以代码中可以不必写f.close()。
事例中的json.dumps(message, ensure_ascii=False)这句话,因为我的message是一个字典,如果要把message写入文件,需要转为字符串,所以使用json.dumps()方法,如果想要将dict类型写入json文件也必须用这个方法转换一下,而ensure_ascii=False这个参数是为了写入汉字的时候就是写入汉字,而不是ucs2编码。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
python各种文件读取
零基础小白python入门——深入Python中的文件操作
python文件操作的几种方法:
python 如何合并两个 json 文件
jsonlines库:高效率的保存多个python对象
python 输出json文件 python json dumps ensureascii
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服