python open函数的用法笔记
file = open(\'apple.txt\', \'w\')
open函数第一个参数是文件名称(包括路径),第二个参数是操作模式。
对于第二个参数有如下的选择:
w:向文件写入内容
a:追加写入,就是不修改文件原来的内容,在文件后面写入
r+:既可以读文件,又可以向文件写入内容
w+:同上
a+:同上
rb:读取二进制文件,例如图片文件
wb:写入二进制数据,例如保存图片的时候会用到
ab:追加二进制数据
rb+:二进制的读写模式,即可以读文件,又可以向文件写入内容
wb+:同上
ab+:同上
总结:有符号+的就表示读写模式,第二个字母有b的就表示二进制相关的文件,r是读,w是写,a是在文件后面写
open函数返回一个文件对象,这个对象有下面5个方法可以使用:
1.file.read() 读取文件
2.file.readline() #读取单独的一行,知道一个换行符出现,也读取这个换行符
3.file.readlines() #读取文件中的所有行,并将其作为列表返回
4.file.write() #往文件中写入一些内容
5.file.close() #关闭这个文件
例子1:写入一遍泰戈尔诗集
1 # -*- coding: utf-8 -*- 2 3 poem = \'\'\' 4 作者:泰戈尔\n 5 这世界一度是你的,也永远是你的。\n 6 因为你无所企求,我的帝王,你的财富不足以使你快乐。\n 7 你视财富如草芥。\n 8 所以你在漫长的岁月中,把你的一切给予我,而在我内心不断地赢得你的王国。\n 9 一天又一天,你从我的心头买得黎明,而且发现你的爱已经刻成了我的生命的形象。\n 10 \'\'\' 11 12 #没有这个文件的时候,自动创建一个新文件 13 with open(u\'采果集第77篇.txt\', \'w\') as f: 14 f.write(poem) 15 f.close() 16 17 #写入新内容之后,打开文件看一看 18 with open(u\'采果集第77篇.txt\', \'r\') as f: 19 content = f.read() 20 f.close() 21 22 #我在控制台上看,所有要转一下编码格式,不然看到的是乱码 23 print content.decode(\'utf-8\').encode(\'gbk\')
例子2:保存一张风景图片
1 # -*- coding: utf-8 -*- 2 import requests 3 4 #在网上随便找一个图片的URL 5 page = requests.get(\'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1531405541704&di=6cfae0df4e75808bc70fe602d1a09daa&imgtype=0&src=http%3A%2F%2Fimg3.iqilu.com%2Fdata%2Fattachment%2Fforum%2F201304%2F11%2F11121140u0k3rr5ohrukr4.jpg\') 6 picture = page.content 7 8 #图片是二进制格式,所有用wb模式写入,音乐文件同理 9 with open(u\'风景图.jpg\', \'wb\') as f: 10 f.write(picture) 11 f.close()