您当前的位置: 首页 >  Python

自在的旅者

暂无认证

  • 4浏览

    0关注

    695博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

自在的旅者 发布时间:2021-01-20 21:14:19 ,浏览量:4

前言

实际工作中,我们经常需要用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()

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

关注
打赏
1665557745
查看更多评论
立即登录/注册

微信扫码登录

0.0483s