第五章 Python文件操作

系列文章目录

第一章 Python 基础知识

第二章 python 字符串处理

第三章 python 数据类型

第四章 python 运算符与流程控制

第五章 python 文件操作

第六章 python 函数

第七章 python 常用内建函数

第八章 python 类(面向对象编程)

第九章 python 异常处理

第十章 python 自定义模块及导入方法

第十一章 python 常用标准库

第十二章 python 正则表达式

第十三章 python 操作数据库


文章目录


open()函数

要想读取文件(如txt、csv等),第一步要用open()内建函数打开文件,它会返回一个文件对象,这个对象 拥有read()、write()、close()等方法。

语法:

open(file,mode='r',encoding=None)

file:打开文件的路径

mode(可选):打开文件的模式,入只读、追加、写入等

r: 只读

w: 只写

a: 在原有的内容的基础上追加内容(末尾

w+: 读写

如果需要以字节(二进制)形式读取文件,只需要在mode值追加'b'即可,例如:wb

文件对象操作

f = open('test.txt')

方法 描述
f.read([size]) 读取size字节,当未指定或给负值时,读取剩余所有的字节,作为字符串返回
f.readline([size]) 从文件中读取下一行,作为字符串返回。如果指定size则返回size字节
f.readlines([size]) 读取size字节,当未指定或给负值时,读取剩余所有的字节,作为列表返回
f.write(str) f.flush 写字符串到文件 刷新缓冲区到磁盘
f.seek(offset[, whence=0]) 在文件中移动指针,从whence(0代表文件起始位置,默认。1代表当前位置。 2代表文件末尾)偏移offset个字节
f.tell() 当前文件中的位置(指针)
f.close() 关闭文件

示例:遍历打印每一行

f = open('computer.txt')

for line in f:

print(line.strip('\n')) # 去掉换行符

python 复制代码
f = open('computer.txt',mode='r',encoding='utf8')
# 读取所有内容
print(f.read())

# 读取指定字节
# print(f.read(4))

# 读取下一行
# print(f.readline())
# print(f.readline())
# print(f.readline())

# 读取所有内容返回列表
# print(f.readlines())

# 增加音响
f = open('computer.txt',mode='a',encoding='utf8')
f.write('\n音响')
f.flush
# print(f.read())
# for i in f:
#     print(i.strip('\n'))
f.close()
f.close()

with语句

with语句:不管在处理文件过程中是否发生异常,都能保证 with 语句 执行完毕后已经关闭了打开的文件句柄。

示例:

with open("computer.txt",encoding="utf8") as f:

data = f.read()

print(data)

python 复制代码
# 增加音响
print('====原始文件')
with open('computer.txt',mode='r',encoding='utf8') as d:
    print(d.read())
print('====增加上帝')
with open('computer.txt',mode='a',encoding='utf8') as f:
    f.write('\n上帝')
    f.flush
print('====增加后')
with open('computer.txt',mode='r',encoding='utf8') as g:
    print(g.read())
python 复制代码
# 增加音响
print('====原始文件')
with open('computer.txt',mode='r',encoding='utf8') as d:
    print(d.read())

computer = ["主机","显示器","键盘","音响"]
with open('computer.txt',encoding=None,mode='w+') as f:
    for i in computer:
        f.write("\n" + i)
    f.flush

print('====增加后')
with open('computer.txt',mode='r',encoding='utf8') as g:
    print(g.read())

总结

以上就是今天学习的内容,本文学习了open以及文件对象还有with语句

相关推荐
databook1 天前
Manim实现脉冲闪烁特效
后端·python·动效
程序设计实验室1 天前
2025年了,在 Django 之外,Python Web 框架还能怎么选?
python
倔强青铜三1 天前
苦练Python第46天:文件写入与上下文管理器
人工智能·python·面试
用户2519162427111 天前
Python之语言特点
python
RestCloud1 天前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
刘立军1 天前
使用pyHugeGraph查询HugeGraph图数据
python·graphql
RestCloud1 天前
为什么说零代码 ETL 是未来趋势?
数据库·api
ClouGence1 天前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓
数据库
数据智能老司机1 天前
精通 Python 设计模式——创建型设计模式
python·设计模式·架构
数据智能老司机1 天前
精通 Python 设计模式——SOLID 原则
python·设计模式·架构