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("编码错误")
相关推荐
guwentian31 分钟前
一文搞懂 AI Agent 安全护栏:用 Python 手写工具网关,把越权挡在执行层
人工智能·python·安全
w01_02_0336 分钟前
虚拟机, ubuntu , samba
linux·运维·ubuntu
布值倒区什么name36 分钟前
Pycharm2026找不到编译器 点击运行运行不了
开发语言·python·pycharm
佳&弥37 分钟前
数据库提权
服务器·数据库·安全·web安全·网络安全
Python私教39 分钟前
软件开发报价为什么能差 3 倍:需求范围、验收标准和变更成本怎么算
后端·python·架构
渣渣盟41 分钟前
Nginx 从零到上手:Windows & Linux 双环境教程
linux·windows·nginx
水獭比特42 分钟前
Pydantic AI 2.33.0 遇上 Anthropic SDK 1.0:别让 httpx2 在运行时才暴雷
人工智能·python
智购科技自动售货机工厂43 分钟前
2026自动售货机电机驱动芯片选型:从L298N到DRV8870的工程实践~YH
大数据·开发语言·数据库·人工智能·单片机·嵌入式硬件·scikit-learn
Dola_Zou44 分钟前
CodeMeter Linux 部署与配置指南
linux·运维·自动化·软件加密
张哈大1 小时前
完整版:对话 Agent 全链路架构详解:从 RAG 召回、Prompt 构建到 ReAct 交互落地指南
人工智能·python