Python 读取 txt 文件详解 with ... open()

文章目录

  • [1 概述](#1 概述)
    • [1.1 注意事项](#1.1 注意事项)
    • [1.2 模式说明](#1.2 模式说明)
    • [1.3 文件准备](#1.3 文件准备)
  • [2 读文件](#2 读文件)
    • [2.1 读取整个文件](#2.1 读取整个文件)
    • [2.2 逐行读取](#2.2 逐行读取)
    • [2.3 读取所有行到列表](#2.3 读取所有行到列表)
  • [3 写文件](#3 写文件)
    • [3.1 覆盖写入](#3.1 覆盖写入)
    • [3.2 追加写入](#3.2 追加写入)
    • [3.3 写入多行](#3.3 写入多行)
  • [4 实用技巧](#4 实用技巧)
    • [4.1 检查文件是否存在](#4.1 检查文件是否存在)
    • [4.2 异常处理](#4.2 异常处理)

1 概述

1.1 注意事项

  • 文件编码 :建议指定编码(如:utf-8),避免在不同平台上出现编码问题。
  • with 语句:可以自动处理文件的打开和关闭,避免资源泄露。

1.2 模式说明

模式 描述
r 只读(默认)
w 写入(会覆盖已有文件)
x 独占创建(若文件已存在,则失败)
a 追加(若文件不存在,则创建)
b 二进制模式
t 文本模式(默认)
+ 更新(可读写)

例如:r+:可读写;wb:二进制写入

1.3 文件准备

  • 在桌面创建文件 file.txt,并复制以下内容
txt 复制代码
这是文件的第 1 行
这是文件的第 2 行
这是文件的第 3 行

2 读文件

2.1 读取整个文件

python 复制代码
file = r'C:\Users\Administrator\Desktop\file.txt'

with open(file, 'r', encoding='utf-8') as f:
    content = f.read()  # 读取全部内容为一个字符串
    print(content)

2.2 逐行读取

python 复制代码
file = r'C:\Users\Administrator\Desktop\file.txt'

with open(file, 'r', encoding='utf-8') as f:
    for line in f:  # 逐行迭代,内存高效
        print(line.strip())  # strip()去掉首尾空白和换行符

2.3 读取所有行到列表

python 复制代码
file = r'C:\Users\Administrator\Desktop\file.txt'

with open(file, 'r', encoding='utf-8') as f:
    lines = f.readlines()  # 返回包含所有行的列表
    print(lines)

3 写文件

3.1 覆盖写入

python 复制代码
file = r'C:\Users\Administrator\Desktop\file.txt'

with open(file, 'w', encoding='utf-8') as f:
    f.write('第一行内容\n')
    f.write('第二行内容\n')

3.2 追加写入

python 复制代码
file = r'C:\Users\Administrator\Desktop\file.txt'

with open(file, 'a', encoding='utf-8') as f:
    f.write('追加的内容\n')

3.3 写入多行

python 复制代码
file = r'C:\Users\Administrator\Desktop\file.txt'

lines = ['第一行\n', '第二行\n', '第三行\n']
with open(file, 'w', encoding='utf-8') as f:
    f.writelines(lines)  # 写入字符串列表

4 实用技巧

4.1 检查文件是否存在

python 复制代码
import os

file = r'C:\Users\Administrator\Desktop\file.txt'

if os.path.exists(file):
    print('存在')  # 文件存在时的操作
else:
    print('不存在')

4.2 异常处理

python 复制代码
file = r'C:\Users\Administrator\Desktop\file.txt'

try:
    with open(file, 'r', encoding='utf-8') as f:
        content = f.read()
        print(content)
except FileNotFoundError:
    print("文件不存在")
except UnicodeDecodeError:
    print("编码错误")
相关推荐
我的xiaodoujiao1 分钟前
Django 基础知识详细图文教程 16-Django 内置Admin认证系统
后端·python·django
Light601 分钟前
四款云端 Agent 的安全边界画在三个地方
大数据·数据库·安全·个人agent·安全边界·提示注入·grok bot
ZGonce8193 分钟前
vLLM 使用实战:在 8GB 显卡上完成模型部署、并发压测与显存调优
python
小诗懂技术5 分钟前
Linux设备驱动并发控制总结_CSDN
linux·运维·服务器
IvorySQL6 分钟前
PostgreSQL 日报| pg_vectorsearch 开源向量搜索发布(10 月 14 日)
数据库·人工智能·postgresql·开源·区块链
m0_5873830011 分钟前
碰碰好评卡功能落地全流程实战指南 附核心逻辑与常见问题解决方案
java·前端·数据库·后端·struts·需求分析
Y38153266215 分钟前
SerpBase + RAG 实战:用搜索 API 给知识库接上实时数据,回答不再过期
java·服务器·数据库
骑着蜗牛撵大象32715 分钟前
SQL 编辑器不是高级记事本:KStudio 与 KSQL Developer 里的建表与增删改查手法
数据库·sql·mysql·编辑器·crud·执行计划
XZ-07000119 分钟前
week8-代码解析2
python
北风toto19 分钟前
银河麒麟 V10 内网 YUM 源修复实战教程(U盘中转版)
linux·服务器