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 ... 
随机推荐
- [转]C#操作word模板插入文字、图片及表格详细步骤
			c#操作word模板插入文字.图片及表格 1.建立word模板文件 person.dot用书签 标示相关字段的填充位置 2.建立web应用程序 加入Microsoft.Office.Interop.W ... 
- [转]在ASP.NET WebAPI 中使用缓存【Redis】
			初步看了下CacheCow与OutputCache,感觉还是CacheOutput比较符合自己的要求,使用也很简单 PM>Install-Package Strathweb.CacheOutpu ... 
- P1046 阶乘
			题目描述 给你一个数N,求 \(N!\) (即:N的阶乘).\(N! = N \times (N-1) \times \dots \times 2 \times 1\) 输入格式 输入一个整数 \(N ... 
- H3C在设备上使用TFTP服务
- 2019-3-1-C#-double-好用的扩展
			title author date CreateTime categories C# double 好用的扩展 lindexi 2019-3-1 9:19:5 +0800 2018-05-15 10: ... 
- dotnet 通过 WMI 获取系统信息
			本文告诉大家如何通过 WMI 获取系统信息 通过 Win32_OperatingSystem 可以获取系统信息 var mc = "Win32_OperatingSystem"; ... 
- vue中的computed和watch区别
			在vue.js官方文档中看到computed和watch获取全名的一个例子: var var vm = new Vue({ el: '#demo', data: { firstName: 'Foo', ... 
- Destoon系统目录树SEO属性目录开发实例
			如何在destoon里设置树形目录结构的SEO优化方式官方给的SEO伪静态实例是没有这个方式的 楼主后来想了一下,就干脆自己做一个吧,已经测试完全无误通过,特意分享给大家 目前比如sell模块下类别[ ... 
- ASP.NET WebForm Ajax请求Handler的经验
			ajax代码 $.ajax({ type: "GET", url: "/AjaxHandler/GetPluginCode.ashx", data: " ... 
- jquery中动态添加的标签绑定的click事件失效的解决办法
			把.click()换成.live('click',function(){})(如果你的jquery的版本是1.10之前) 把.click()换成.on('click',function(){})(jq ... 
