第五章 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语句

相关推荐
HappyAcmen3 分钟前
9.复盘API全套流程
开发语言·python
添砖java‘’11 分钟前
MySQL事务
数据库·mysql
zh路西法12 分钟前
【Linux 串口通信】基于 C++ 多线程的同步/异步串口实现
linux·运维·c++·python
北暮城南13 分钟前
使用 Claude Code 高效实现图像边缘检测:多算法对比与工程实践
python·opencv·numpy·matplotlib·边缘检测·claude code
装不满的克莱因瓶15 分钟前
学习并掌握 LangChain 检索器的作用,实现让 LLM 动态调用知识库功能
人工智能·python·ai·langchain·llm·agent·智能体
身如柳絮随风扬1 小时前
MongoDB 典型使用场景深度解析:从订单冷热分离到社交地理查询
数据库·mongodb
jnrjian1 小时前
exp imp 配置不了 sys / as sysdba @PDB 如何进入特别pdb
oracle
minji...1 小时前
MySQL数据库 (一) MySQL数据库基础,MySQL架构,存储引擎,SQL语句分类
数据库·mysql·oracle·sql语句·存储引擎··mysqld
devnullcoffee1 小时前
亚马逊 Buy Box 数据采集完全指南(2026):Python 实战 + Pangolinfo API
开发语言·python·亚马逊数据采集·亚马逊数据 api·pangolinfo api·亚马逊 buy box 数据·亚马逊数据采集软件
imDwAaY1 小时前
贝叶斯网络到粒子滤波Python算法实现 CS188 Proj4 学习笔记
网络·人工智能·笔记·python·学习·算法