Python操作file文件,你觉的你懂了,恐怕这些细节你没拿捏好

前言

 实际工作中,我们经常需要用Python读取文txt文件中的数据. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. 根据打开方式的不同能够执行的操作也会有相应的差异

常用的文件操作模式

  • 打开文件的方式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b 默认使用的是r(只读)模式
只读(r, rb)
#! /usr/bin/python3
# -*- coding:utf-8 -*-

# @FileName: day5.py
# @Time    : 2020/8/9 20:57
# @公众号  : 码上开始


file = open("E:\\study\\good.txt", "r", encoding="utf-8")
line = file.read()
print(line)
# open模式打开文件一定要记得关闭操作
file.close()

# 运行结果
好好学习
公众号:码上开始
  • read() 将文件中的内容全部读取出来. 弊端: 占内存. 如果文件过大.容易导致内存崩溃
  • 需要注意encoding表示编码集. 根据文件的实际保存编码进行获取数据, 对于我们而言. 更多的是utf-8
  • rb. 读取出来的数据是bytes类型, 在rb模式下. 不能选择encoding字符集
只写(w, wb)
  • 写的时候注意. 如果没有文件. 则会创建文件
  • 如果文件存在. 则将原件中原来的内容删除, 再写入新内容
#! /usr/bin/python3
# -*- coding:utf-8 -*-

# @FileName: day5.py
# @Time    : 2020/8/9 20:57
# @公众号  : 码上开始

f = open("study.txt", mode="w", encoding="utf-8")
f.write("好好学习Python")
# 刷新. 养成好习惯
f.flush()
f.close()
r+ 读写
  • 对于读写模式. 必须是先读. 因为默认光标是在开头的. 准备读取的. 当读完了之后再进行
    写入. 我们以后使用频率最⾼的模式就是r+
  • 所以记住: r+模式下. 必须是先读取. 然后再写入
#! /usr/bin/python3
# -*- coding:utf-8 -*-

# @FileName: day5.py
# @Time    : 2020/8/9 20:57
# @公众号  : 码上开始


file = open("study.txt", mode="r+", encoding="utf-8")
# 先读取
content = file.read()
# 再写入
file.write("好好学, 天天向上")
print(content)
# 刷新. 养成好习惯
f.flush()
file.close()

# 运行结果
好好学, 天天向上
a+写读(追加写读)
  • 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
  • 文件指针将会放在文件的结尾所以该示例找不到内容,打印没任何结果
#! /usr/bin/python3
# -*- coding:utf-8 -*-

# @FileName: day5.py
# @Time    : 2020/8/9 20:57
# @公众号  : 码上开始


file = open("study.txt", mode="a+", encoding="utf-8")
# 先读取
content = file.read()
# 再写入
file.write("好好学习")
file.write("天天向上")
# 刷新. 养成好习惯
f.flush()
print(file.readline())
file.close()

如果对软件测试、接口测试、自动化测试、持续集成、面试经验。感兴趣可以进到902061117,群内会有不定期的分享测试资料。还会有技术大牛,业内同行一起交流技术

你可能感兴趣的:(Python3基础,python,file,open)