Python 文件读取操作

视频版教程 Python3零基础7天入门实战视频教程

文件IO操作

Python的内置库提供了对文件的IO操作。

可以对文件进行打开,读,写,关闭等操作。

文件读取操作

你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。

复制代码
file object = open(file_name ,mode,encoding)
  • filename:一个包含了你要访问的文件名称的字符串值,要求是全路径,如r"e:\xxx.txt"或者"e:\xxx.txt"
  • mode:文件的访问模式,只读,写入,追加等
  • encoding:读取数据的编码格式,只有文本文件时才能加该参数

mode是文件的读写方式:

  • r:只读模式,不能写入,默认的格式,必须是文件已经存在
  • w:只写模式,覆盖写入,如果文件不存在,创建文件并写入
  • a:追加写入,在原来文件内容的基础上,继续写入数据
  • r+:读写模式,需要文件已存在
  • w+:读写模式,文件可以不存在,它可以先创建、再读写
  • b:二进制读写,对非文本文件的读写

打开文件open

python 复制代码
f = open("D:/测试.txt", "r", encoding="UTF-8")
print(type(f))

读取文件 read()

python 复制代码
print("读取15个字节", f.read(15))
print("读取全部内容", f.read())

读取文件全部行,返回列表 readlines()

python 复制代码
lines = f.readlines()
print(type(lines))
print(lines)
for line in lines:
    print(line, end='')

逐行读取 readline()

python 复制代码
print(f.readline(), end='')
print(f.readline(), end='')
print(f.readline(), end='')

line = f.readline()
while line:
    print(line, end='')
    line = f.readline()

简化的for遍历

python 复制代码
for line in f:
    print(line, end='')

关闭文件对象 结束IO操作

python 复制代码
f.close()

前面读取文件方式,都是需要显示的调用close()方法,关闭文件对象。有时候写代码,忘记关闭,那就麻烦了。

所以python提供了一种自动关闭文件对象的操作方式。with open

python 复制代码
with open("D:/测试.txt", "r", encoding="UTF-8") as f:
    for line in f:
        print(line, end='')

执行完后,自动关闭文件对象

相关推荐
学测绘的小杨15 小时前
CompassFusion:一个从 GNSS 到 GNSS/INS 组合导航的独立工程包
python
zzzzzz3101 天前
当产品经理说这个很简单:我用Python自动化处理奇葩需求的实战指南
python·pycharm·产品经理
雪隐1 天前
个人电脑玩AI-06让5060 Ti给你打工——不光能画画,Qwen3-TTS还能学人说话,连我老板都信了!
人工智能·后端·python
兵慌码乱1 天前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构
hboot1 天前
AI工程师第三课 - 机器学习基础
python·scikit-learn·kaggle
顾林海2 天前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱2 天前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
曲幽2 天前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码2 天前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱2 天前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理