Python基础(十六):文件读写,靠这一篇就够了!
2021/4/11 20:30:18
本文主要是介绍Python基础(十六):文件读写,靠这一篇就够了!,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文件读写的流程
类比windows中手动操作txt文档,说明python中如何操作txt文件?
什么是文件的内存对象(文件句柄)?
演示怎么读取文件
- ① 演示如下
f = open(r"D:\python_project\mxxl\test.txt", "r", encoding="utf-8") data = f.read() print(data[:245]) f.close()
结果如下:
- ② 一个很奇怪的现象?
f = open(r"D:\python_project\mxxl\test.txt", "r", encoding="utf-8") data = f.read() data1 = f.read() print(data[:245]) print("-------------------------------------") print(data1[:245]) f.close()
结果如下:
问题:
我们读取了2遍内容,为什么只显示了一次读取的结果呢?对于上述问题,我们用一张图回答上述问题。
演示怎么写文件
f = open(r"D:\python_project\mxxl\test2.txt","w",encoding="utf-8") f.write("我爱北京天安门") f.close()
假如我们在写一句天安门上太阳升
,会出现啥情况呢?
f = open(r"D:\python_project\mxxl\test2.txt","w",encoding="utf-8") f.write("天安门上太阳升") f.write("很好,很好") f.close()
意外发生:
当我们再次写入新的内容的时候,发现之前写的内容不见了,这是为啥呢?这就是我们下面要讲述的文件读写的几种常见模式。
文件读写的几种常见模式(你不清楚的知识点)
关于r+、w+、a+使用说明(易错点)
r+模式:可读可写
对于这种模式,不管是读取文件中的内容,还是朝文件中写入内容。前提条件:文件存在。
# 只读取文件中的内容 f = open(r"D:\python_project\mxxl\test\test.txt", "r+", encoding="utf-8") data = f.read() print(data) f.close() # 朝文件中写入内容后,立即读取,会出现啥问题? f = open(r"D:\python_project\mxxl\test\test.txt", "r+", encoding="utf-8") f.write("黑姑娘") data = f.read() print(data) f.close() # 朝文件中写入内容后,调整句柄位置后,再读取,会出现啥问题? f = open(r"D:\python_project\mxxl\test\test.txt", "r+", encoding="utf-8") f.write("黑姑娘") f.seek(0) data = f.read() print(data) f.close()
结果如下:
w+:可读可写
# 直接往文件中写入内容 f = open(r"D:\python_project\mxxl\test\test.txt", "w+", encoding="utf-8") f.write("bbbbbb") f.close() # 直接读取上述文件,看看会发生啥问题?(特别注意这一步) f = open(r"D:\python_project\mxxl\test\test.txt", "w+", encoding="utf-8") data = f.read() print(data) f.close() # 朝文件中写入内容后,立即读取,又会发生什么? f = open(r"D:\python_project\mxxl\test\test.txt", "w+", encoding="utf-8") f.write("哈哈哈哈哈") data = f.read() print(data) f.close() # 朝文件中写入内容后,调整句柄位置后,再读取,会发生什么? f = open(r"D:\python_project\mxxl\test\test.txt", "w+", encoding="utf-8") f.write("嘿嘿嘿嘿嘿") f.seek(0) data = f.read() print(data) f.close()
结果如下:
a+:可读可写
# 直接朝文件中写入内容 f = open(r"D:\python_project\mxxl\test\test.txt", "a+", encoding="utf-8") f.write("哈哈") f.close() # 直接读取文件中的内容 f = open(r"D:\python_project\mxxl\test\test.txt", "a+", encoding="utf-8") data = f.read() print(data) f.close() # 调整句柄位置后,再读取文件中的内容 f = open(r"D:\python_project\mxxl\test\test.txt", "a+", encoding="utf-8") f.seek(0) data = f.read() print(data) f.close()
结果如下:
read、readline、readlines的区别
read()方法的使用说明
f = open(r"D:\python_project\mxxl\test\test.txt","r",encoding="utf-8") data = f.read() print(type(data)) print(data) f.close()
结果如下:
readline()方法的使用说明
f = open(r"D:\python_project\mxxl\test\test.txt","r",encoding="utf-8") data = f.readline() print(type(data)) print(data) f.close() f = open(r"D:\python_project\mxxl\test\test.txt","r",encoding="utf-8") for i in range(3): data = f.readline() print(data) f.close()
结果如下:
去掉每一行末尾的换行符:
f = open(r"D:\python_project\mxxl\test\test.txt","r",encoding="utf-8") for i in range(3): data = f.readline().strip() print(data) f.close()
结果如下:
readlines()方法的使用说明
f = open(r"G:\6Tipdm\file_read_write\test.txt","r",encoding="utf-8") data = f.readlines() print(type(data)) print(data) f.close()
结果如下:
对于一个10G的大文件,怎么高效的查看文件中的内容呢?
相关说明
操作说明
f = open(r"D:\python_project\mxxl\test\test.txt","r",encoding="utf-8") for line in f: print(line.strip())
部分截图如下:
这篇关于Python基础(十六):文件读写,靠这一篇就够了!的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python