今天再来讲解一下python中的文件操作
补充:
x模式(控制文件操作的模式):只写模式【不可读;不存在则创建,存在则报错】
b:binary模式
1、读写都是以bytes为单位
2、可以针对所有文件
3、一定不能指定字符编码,即一定不能指定encoding参数
总结:
1、在操作纯文本文件方面t模式帮我们省去了编码与解码的环节,b模式则需要手动编码与解码,所以此时t模式更为方便
2、针对非文本文件(如图片、视频、音频等)只能使用b模式
新的知识:
一、读相关操作
1、readline:一次读一行
with open(r’g.txt’,mode=‘rt’,encoding=‘utf-8’) as f:
res1=f.readline()
2、readlines:方法用于读取所有行(直到结束符 EOF)并返回列表
with open(r’g.txt’,mode=‘rt’,encoding=‘utf-8’) as f:
res=f.readlines()
print(res)
二、写相关操作
f.writelines:写入字符串序列到文件
with open(‘h.txt’,mode=‘wt’,encoding=‘utf-8’) as f:
f.write(‘1111\n222\n3333\n’)
flush:方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。
with open(‘h.txt’, mode=‘wt’,encoding=‘utf-8’) as f:
f.write(‘哈’)
f.flush()
补充:
1:如果是纯英文字符,可以直接加前缀b得到bytes类型
2:‘上’.encode(‘utf-8’) 等同于bytes(‘上’,encoding=‘utf-8’)
三、文件的高级操作:控制文件指针的移动
指针移动的单位都是以bytes/字节为单位
只有一种情况特殊:
t模式下的read(n),n代表的是字符个数
f.seek(n,模式):n指的是移动的字节个数
模式
模式0:参照物是文件开头位置
模式1:参照物是当前指针所在位置
模式2:参照物是文件末尾位置,应该倒着移动
强调:只有0模式可以在t下使用,1、2必须在b模式下用
f.tell() : 获取文件指针当前位置
示例:
with open(‘aaa.txt’,mode=‘rb’) as f:
f.seek(9,0)
f.seek(3,0)
print(f.tell())# 3
以上就是今天总结的内容。希望能对想学习的python的同学有所帮助。
相关文章
- 03-28每日学习总结:数组、数组工具类、方法的重载(Day05)
- 03-28机器学习day05——logistic回归 简化代价函数与梯度下降
- 03-28学习Spring-Data-Jpa(九)---注解式方法查询之@NamedQuery、@NamedNativeQuery
- 03-28【学习笔记】 unity基础_Day05
- 03-28python之7-3对象的信息/方法获取
- 03-28python之 模块与包
- 03-28Python-3------新年考试周的Python学习
- 03-28Elasticsearch 学习之 分片未分配原因
- 03-28python中几个常见的“黑盒子”之 列表list
- 03-28如何学pyhton深度学习 之 “我的python学习进阶之路”