#20 Python文件
前言
前面几节枯燥的模块终于结束了,想要完全掌握前几节的模块需要不断的练习才行,毕竟眼过千遍不如手过一遍嘛。在一些项目需求里,要对文件进行io操作,毕竟重要数据不可能打印到屏幕上而不去保存,python对的文件io操作并不是很复杂,相信你很快就能掌握它!
文件io操作
对于一个文件的操作,无非不过创建、删除、读、写,创建和删除在os模块里面已经说过,那只剩下读和写了,也就是io(input,output)操作了。
接下来,将以徐志摩的《再别康桥》为例子,深入解读python中文件io操作
轻轻的我走了, 正如我轻轻的来; 我轻轻的招手, 作别西天的云彩。 ---- 那河畔的金柳, 是夕阳中的新娘; 波光里的艳影, 在我的心头荡漾。 ---- 软泥上的青荇, 油油的在水底招摇; 在康河的柔波里, 我甘心做一条水草! ---- 那榆荫下的一潭, 不是清泉,是天上虹; 揉碎在浮藻间, 沉淀着彩虹似的梦。 ---- 寻梦?撑一支长篙, 向青草更青处漫溯⑷; 满载一船星辉, 在星辉斑斓里放歌。 ---- 但我不能放歌, 悄悄是别离的笙箫; 夏虫也为我沉默, 沉默是今晚的康桥! ---- 悄悄的我走了, 正如我悄悄的来; 我挥一挥衣袖, 不带走一片云彩。
1. 打开文件
python获得文件句柄的方式与c及其类似,使用内置函数open(file, mode='r', buffering=-1, encoding=none, errors=none, newline=none, closefd=true, opener=none) 「file表示文件名、mode表示打开方式(默认为读)、buffering表示寄存区缓冲大小(负值为系统默认,0为没有寄存区缓存,1为文件会寄存行,大于1的整数为寄存区缓存大小)、encoding表示文件编码、newline表示换行符(默认为\n)」
f = open('再别康桥.txt') # 以默认读的方式打开再别康桥,注意:文件路径(此时程序和再别康桥在同一路径) f = open('xxx.txt', 'w') # 以写的方式打开文件,注意:如果此文件不存在,则创建这个文件;如果存在,则删除原文件所有内容
对于不同的文件,有不同的处理方式,常用的mode参数如下:
模式 描述 r 读 w 写 r+ 读写 w+ 写读 a 追加 a+ 追加读 rb 二进制读 wb 二进制写 rb+ 二进制读写 wb+ 二进制写读 ab 二进制追加 ab+ 二进制追加读
这些模式看似复杂,其实内部规律很清晰,接下来将用文件的读和写来充分了解这些模式
2. 文件的读
read() 「读取文件指针之后的所有内容,并返回字符串」
这里提到了一个新概念:文件指针,想象一下,你在读书,你的手指头指着你正在读的地方,你没读一个字,你的手指头就跟着向后动一下,你的手指头就是文件指针,以上模式中,除了a、a+、ab+文件指针在文件末尾之外,其他的都是在文件开头
in [2]: f = open('再别康桥.txt') # 默认读的方式打开文件 in [3]: f.read() # 读取文件指针之后的所有内容 out[3]: '轻轻的我走了,\n正如我轻轻的来;\n我轻轻的招手,\n作别西天的云彩。\n----\n那河畔的金柳,\n是夕阳中的新娘;\n波光里的艳影,\n在我的心头荡漾。\n----\n软泥上的青荇,\n油油的在水底招摇;\n在康河的柔波里,\n我甘心做一条水草!\n----\n那榆荫下的一潭,\n不是清泉,是天上虹;\n揉碎在浮藻间,\n沉淀着彩虹似的梦。\n----\n寻梦?撑一支长篙,\n向青草更青处漫溯;\n满载一船星辉,\n在星辉斑斓里放歌。\n----\n但我不能放歌,\n悄悄是别离的笙箫;\n夏虫也为我沉默,\n沉默是今晚的康桥!\n----\n悄悄的我走了,\n正如我悄悄的来;\n我挥一挥衣袖,\n不带走一片云彩。\n'
in [9]: f = open('再别康桥.txt', 'w') # 以写的模式打开文件,此时这个文件的内容已经被删除了
相关文章:
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论