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 requests
photo = 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编码。
Python中的open()方法总结的更多相关文章
- Python中的__new__()方法与实例化
@Python中的__new__()方法与实例化 __new__()是在新式类中新出现的方法,它作用在构造方法建造实例之前,可以这么理解,在Python 中 存在于类里面的构造方法__init__ ...
- python中的replace()方法的使用
python中的replace()方法的使用 需求是这样的:需要将字符串的某些字符替换成其他字符 str.replace(old,new,max) 第一个参数是要进行更换的旧字符,第二个参数是新的子串 ...
- Python中的字符串方法
Python中的字符串方法 字符串类即str提供了许多有用的方法来操纵字符串.具体来说,我们将讨论如下的方法. 搜索字符串内的子字符串. 测试字符串. 格式字符串. 转换字符串. 回顾前面的章节,方法 ...
- python中的sort方法
Python中的sort()方法用于数组排序,本文以实例形式对此加以详细说明: 一.基本形式 列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不 ...
- python中的sort方法使用详解
Python中的sort()方法用于数组排序,本文以实例形式对此加以详细说明: 一.基本形式 列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不 ...
- Python中格式化format()方法详解
Python中格式化format()方法详解 Python中格式化输出字符串使用format()函数, 字符串即类, 可以使用方法; Python是完全面向对象的语言, 任何东西都是对象; 字符串的参 ...
- 关于python中的特殊方法
研究了几个小时,大概对python中的特殊方法一知半解,现在写写自己的理解,以及记录一些找到的资源.待自己有比较深入理解的时候,再来更新 https://docs.python.org/3/refer ...
- Python中使用item()方法遍历字典的例子
Python中使用item()方法遍历字典的例子 这篇文章主要介绍了Python中使用item()方法遍历字典的例子,for...in这种是Python中最常用的遍历字典的方法了,需要的朋友可以参考下 ...
- Python中的__new__()方法的使用
__new__() 函数只能用于从object继承的新式类. 先看下object类中对__new__()方法的定义: class object: @staticmethod # known cas ...
随机推荐
- 【2016常州一中夏令营Day6】
小 W 算树[问题描述]山有苞棣,隰有树檖.未见君子,忧心如醉~小 W 养了一棵有 N 个点的无根树,由于小 M 最喜欢二叉树了,为了讨小 M 欢喜,小 W想知道有多少个点作为根后,这棵树是一棵二叉树 ...
- 解决html2canvas图片跨域合成失败的问题
/** * 将图片转换为base64 * 解决html2canvas跨域合成失败的问题 */ var getBase64Image = function(src, cb) { var img = do ...
- Vue CLI 创建项目
使用命令创建VUE项目 运行以下命令[vue create [项目名]]来创建一个新项目: vue create hello-world 警告 如果你在 Windows 上通过 minTTY 使用 G ...
- IAP升级
一.IAP原理 1.在正常情况下,程序运行路流程: 和STM32类似,STM8内部闪存(FLASH)地址起始于 0x8000(STM32是0x08000000),一般情况下,程序文件就从此地 址开始写 ...
- SSI(服务器端嵌入)
简介 SSI(服务器端嵌入)是一组放在 HTML 页面中的指令,当服务器向客户端访问提供这些页面时,会解释执行这些指令.它们能为已有的 HTML 页面添加动态生成内容,不需要通过 CGI 程序来或其他 ...
- 前端——css属性方法
目录 标签快捷写法 宽和高 字体 1.文字字体 2.字体大小 3.字体粗细 4.字体颜色 5.字体对齐 6.文字下划线控制 7.文字首行缩进 8.字体英文换大写 背景属性 1.背景颜色 2.背景图片 ...
- [梁山好汉说IT] 容器概念在北宋社会的应用
[梁山好汉说IT] 容器概念在北宋社会的应用 0x00 摘要 如何对没有软件开发经验的人解释容器? 集装箱真的能够完美解释容器嘛? 除了集装箱还有其他常见实体能够解释容器嘛? 我找到了一个能够 和集装 ...
- 【简要题解】Hihocoder 重复旋律1-9简要题解
[简要题解]Hihocoder 重复旋律1-8简要题解 编号 名称标签 难度 1403 后缀数组一·重复旋律 Lv.4 1407 后缀数组二·重复旋律2 Lv.4 1415 后缀数组三·重复旋律3 L ...
- 洛谷$P4099\ [HEOI2013]\ SAO\ dp$
正解:树形$dp$ 解题报告: 传送门$QwQ$. 考虑设$f_i$表示点$i$的子树内的拓扑序排列方案数有多少个. 发现这样不好合并儿子节点和父亲节点.于是加一维,设$f_{i,j}$表示点$i$的 ...
- 洛谷$P$3746 [六省联考2017]组合数问题 $dp$+矩乘+组合数学
正解:$dp$+矩乘+组合数学 解题报告: 传送门! 首先不难发现这个什么鬼无穷就是个纸老虎趴,,,最多在$\binom{n\cdot k+r}{n\cdot k}$的时候就已经是0了后面显然不用做下 ...