其他
超好懂的 Python 文件读写教程!
点击关注上方“杰哥的IT之旅”,
后台回复“Python自动化”获取精心整理的PDF。
作者:黄伟呢
来源:数据分析与统计学之美
1.文件读写的流程
1)类比windows中手动操作txt文档,说明python中如何操作txt文件?
① windows中手动操作txt文件的步骤
找到word文档 打开word文档 查看(或操作)word文档中的内容 关闭word文档
② python操作txt文件的步骤
获取被打开的文件的内存对象,该内存对象又叫做 文件句柄
通过这个内存对象(文件句柄),来对文件进行操作(读取,写入等操作) 关闭文件
2)什么是文件的内存对象(文件句柄)?
3)演示怎么读取文件
① 演示如下
data = f.read()
print(data[:245])
f.close()
② 一个很奇怪的现象?
data = f.read()
data1 = f.read()
print(data[:245])
print("-------------------------------------")
print(data1[:245])
f.close()
问题:
我们读取了2遍内容,为什么只显示了一次读取的结果呢?对于上述问题,我们用一张图回答上述问题。4)演示怎么写文件
f.write("我爱北京天安门")
f.close()
天安门上太阳升
,会出现啥情况呢?f.write("天安门上太阳升")
f.write("很好,很好")
f.close()
意外发生:
当我们再次写入新的内容的时候,发现之前写的内容不见了,这是为啥呢?这就是我们下面要讲述的文件读写的几种常见模式。 2.文件读写的几种常见模式(你不清楚的知识点)
1)关于r+、w+、a+使用说明(易错点)
2)r+模式:可读可写
f = open(r"G:\6Tipdm\file_read_write\yesterday1.txt","r+",encoding="utf-8")
data = f.read()
print(data)
f.close()
# 朝文件中写入内容后,立即读取,会出现啥问题?
f = open(r"G:\6Tipdm\file_read_write\yesterday1.txt","r+",encoding="utf-8")
f.write("丽丽姑娘")
data = f.read()
print(data)
f.close()
# 朝文件中写入内容后,调整句柄位置后,再读取,会出现啥问题?
f = open(r"G:\6Tipdm\file_read_write\yesterday1.txt","r+",encoding="utf-8")
f.write("丽丽姑娘")
f.seek(0)
data = f.read()
print(data)
f.close()
3)w+:可读可写
f = open(r"G:\6Tipdm\file_read_write\yesterday3.txt","w+",encoding="utf-8")
f.write("bbbbbb")
f.close()
# 直接读取上述文件,看看会发生啥问题?(特别注意这一步)
f = open(r"G:\6Tipdm\file_read_write\yesterday3.txt","w+",encoding="utf-8")
data = f.read()
print(data)
f.close()
# 朝文件中写入内容后,立即读取,又会发生什么?
f = open(r"G:\6Tipdm\file_read_write\yesterday3.txt","w+",encoding="utf-8")
f.write("哈哈哈哈哈")
data = f.read()
print(data)
f.close()
# 朝文件中写入内容后,调整句柄位置后,再读取,会发生什么?
f = open(r"G:\6Tipdm\file_read_write\yesterday3.txt","w+",encoding="utf-8")
f.write("嘿嘿嘿嘿嘿")
f.seek(0)
data = f.read()
print(data)
f.close()
4)a+:可读可写
f = open(r"G:\6Tipdm\file_read_write\yesterday4.txt","a+",encoding="utf-8")
f.write("哈哈")
f.close()
# 直接读取文件中的内容
f = open(r"G:\6Tipdm\file_read_write\yesterday4.txt","a+",encoding="utf-8")
data = f.read()
print(data)
f.close()
# 调整句柄位置后,再读取文件中的内容
f = open(r"G:\6Tipdm\file_read_write\yesterday4.txt","a+",encoding="utf-8")
f.seek(0)
data = f.read()
print(data)
f.close()
3.read、readline、readlines的区别
1)read()方法的使用说明
data = f.read()
print(type(data))
print(data)
f.close()
2)readline()方法的使用说明
data = f.readline()
print(type(data))
print(data)
f.close()
f = open(r"G:\6Tipdm\file_read_write\test.txt","r",encoding="utf-8")
for i in range(3):
data = f.readline()
print(data)
f.close()
for i in range(3):
data = f.readline().strip()
print(data)
f.close()
3)readlines()方法的使用说明
data = f.readlines()
print(type(data))
print(data)
f.close()
4.对于一个10G的大文件,怎么高效的查看文件中的内容呢?
1)相关说明
2)操作说明
for line in f:
print(line.strip())
m
」获取!2、我花了一周的时间,就为了整理这份 97 页的 Python 自动化系列文档。【附获取方式】
3、不懂送女朋友什么牌子的口红?没关系!Python 数据分析告诉你。
4、Python 自动化办公之"你还在手动操作“文件”或“文件夹”吗?"
5、利用 Python 进行多 Sheet 表合并、多工作簿合并、一表按列拆分
6、“罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?关注微信公众号『杰哥的IT之旅』,后台回复“1024”查看更多内容,回复“微信”添加我微信即可加入读者交流群。