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 作者:泰戈尔\n5 这世界一度是你的,也永远是你的。\n6 因为你无所企求,我的帝王,你的财富不足以使你快乐。\n7 你视财富如草芥。\n8 所以你在漫长的岁月中,把你的一切给予我,而在我内心不断地赢得你的王国。\n9 一天又一天,你从我的心头买得黎明,而且发现你的爱已经刻成了我的生命的形象。\n10 '''
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 importrequests3
4 #在网上随便找一个图片的URL
5 page = requests.get('/timg?image&quality=80&size=b9999_10000&sec=1531405541704&di=6cfae0df4e75808bc70fe602d1a09daa&imgtype=0&src=http%3A%2F%%2Fdata%2Fattachment%2Fforum%2F04%2F11%2F11121140u0k3rr5ohrukr4.jpg')6 picture =page.content7
8 #图片是二进制格式,所有用wb模式写入,音乐文件同理
9 with open(u'风景图.jpg', 'wb') as f:10 f.write(picture)11 f.close()