Python文件读写操作方法文字和视频讲解
前面大家了解python是怎么操作文件的了,也学习过文件读取和写入模式的一些细节以及文件定位等等,这节课主要是深入了解文件读写的细节控制,容错方法和关闭文件的细节,另外还有一种简写方法with语句来操作文件读写。下面来一一讲解。
1.文件读取:单行读取,多行读取和按字节读取,控制读取内容量f = open("a.txt", "r") content = f.read(3) # 3表示读取3个字节,同时下标会向右移动三个字节 content = f.readline() # 表示读取一行,每次读取后指针移动一行 content = f.readlines() # 把文件按照换行符进行读取,返回一个列表print(content) f.close()
2.文件对象遍历
这里要理解一个概念,文件读取后存放在一个对象f中,这个f对象是可迭代的对象,可以借助以下方法来验证一下,然后在对文件对象进行遍历。f = open("files/123.jpg", "r") print(f) print(type(f))import collections.abc print(isinstance(f, collections.abc.Iterator)) # 由此可见f也属于迭代器 for i in f: print(i, end="") if f.readable(): # 通过readable()函数做一个容错处理 content = f.readlines() for i in content: print(i, end="") f.close()
注意:一般情况下文件不是很大使用read()和readlines()方法直接读取整个文件,readline()是一行一行的读取,适合处理较大文件,f是一个迭代器,使用for循环遍历也可以处理大文件。
3.文件写入操作f = open("files/a.txt", "a") if f.writable(): # 容错 print(f.write("aaa")) # 返回结果是写入字符的长度,不是文件中字符的长度 f.close()
4.关闭文件操作:文件关闭后会自动释放资源,其次还会立即清空缓冲区的数据内容到磁盘文件,否则可能会导致文件内容的丢失,使用断点验证f.flush() # 通过这个方法也可以清空缓冲区文件,执行磁盘写入 # 刷新缓冲区的三种情况: # 1.关闭文件时自动刷新; # 2.手动调用flush函数刷新; # 3.缓冲区已满会自动刷新 f = open("files/abcd.txt", "w") f.write("aaa") # 到这里内容还不能写入文件,只有刷新缓冲区或关闭后才能写入 f.flush()
5.with简写:使用with语句,不用关闭和属性操作,with语句中已经从底层帮为你解决了这个问题with open("files/abc.txt", "w") as f: f.write("aaaaaa")
6.编码和解码with open("files/abc.txt", "wb", encoding="utf-8") as f: str = "aaaaaaaaaaaaaaaaaaaa" f.write(str) with open("files/abc.txt", "wb") as f: str = "aaaaaaaaaaaaaaaaaaaa" f.write(str.encode("utf-8")) with open("files/abc.txt", "rb") as f: data = f.read() print(data) print(type(data)) # 字节类型数据,想使用转为字符串 new_data = data.decode("utf-8") # 编码和解码类型应该一致,否则会报错,特别是有中文字符时 print(new_data) print(type(new_data)) with open("files/abc.txt", "rb", errors="ignore") as f: # errors="ignore"表示忽略编码错误 pass
视频地址:11-4【python自学网】文件操作-文件读写和关闭操作 python基础入门精讲视频教程_哔哩哔哩_bilibili
文章来源:Python自学网 http://www.wakey.com.cn/document-file-readline.html
江西发现4。38亿年前最古老真盔甲鱼类(记者崔雪芹)近日,中国科学院古脊椎动物与古人类研究所硕士生山显任在研究员盖志琨赵文金联合指导下,于亚洲地球科学杂志在线发表了该团队关于志留纪真盔甲鱼类的最新成果。该研究首次报道了
至少11种鱼类可以走路?新发现揭秘陆地动物演化史奇点科学美体平鳍鳅图片图片来源Pinterest一个科学家团队确定了至少11种能在陆地上行走的鱼类,包括一种攀爬能力很强的鱼类美体平鳍鳅(Cryptotorathamicola)。通过研究
科研人员发现4。38亿年前真盔甲鱼类近日,中国科学院古脊椎动物与古人类研究所硕士生山显任在研究员盖志琨赵文金的联合指导下,在亚洲地球科学杂志(JournalofAsianEarthSciences)上,在线发表了该科
便携屏降价了你会在此刻入手吗?CFORCE家的便携屏迎来了21年最后的降价,想要购买的小伙伴,现在出手购买最合适,联系在线客服还会有惊喜。CF011XPRO2022款惊喜价格首次最低性价比款,推介指数CF015
你想要的无线化极简桌面,我替你搭建好了,无线桌面2。0指南我们到底需要什么样的极简桌面?不是每个人都是RGB灯效的深度爱好者。也不是每个人都喜欢琳琅满目的在桌子上堆满各种设备。对于现在很多人来说,可能回家就是一台笔记本,一张不大的书桌,一
如何买华为手机这三款才是懂行人的最爱,看看有你在用的吗华为是目前国内市场占有率最高的厂商,可以说是国内最大的厂商,市场占有率超过30,具有绝对领先优势。近年来,华为在5G和手机拍照方面不断发力,已经成为行业顶级手机厂商。那么,如何购买
携号转网的优劣势你知道吗?从专业角度说国家出台此项政策主要目的在于提升服务质量,对于消费者来说最大的好处就是号码的使用性价比高了,那么有人会问转到哪家运营商更好呢,实际上就是一个习惯问题,转一转网资费降下来
薇娅倒了,这个事儿到底有多大?偷税漏税国家七亿左右,拿出百分之一做慈善,打造良好人设,给了好几次机会都不珍惜,最后还有担当的说愿意承担全部责任(有别的选择?)这标志着国家税务侦查由防守进入进攻阶段,之前经侦工作
什么是tiktok?tiktok是字节跳动下属一个公司!那么字节跳动是啥!我从国内外说起!中国的网络公司,分为卖硬件的和卖软件的。卖硬件的有华为,中兴,联想,神舟等。其中华为最厉害,掌握了部分5G话语
真正懂苹果的人,往往会选择这三款iPhone,性价比高还好用自从华为退出高端手机市场后,高端旗舰的选择仿佛就只剩下iPhone了。加上苹果十几年的口碑和影响力,这也让更多的消费者无脑加入到苹果阵营当中。这个时候问题就来了,很多小白由于之前没
Motorola确定会推出第三代razr折叠机!预计拥有全新外观Motorola在2020年推出Motorolarazr5G,将智能手机和折叠屏幕的概念结合,打造一款经典的刀锋机。而最近Motorola也确定将会发布第三代的razr折叠机,除了