file = open('apple.txt', 'w')
open函数第一个参数是文件名称(包括路径),第二个参数是操做模式。app
对于第二个参数有以下的选择:函数
w:向文件写入内容编码
a:追加写入,就是不修改文件原来的内容,在文件后面写入spa
r+:既能够读文件,又能够向文件写入内容code
w+:同上对象
a+:同上blog
rb:读取二进制文件,例如图片文件图片
wb:写入二进制数据,例如保存图片的时候会用到utf-8
ab:追加二进制数据get
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()