当前位置: 首页 > article >正文

使用Python读写文本文件

读写文本文件

在编程中,处理文本文件是一个非常常见的操作。Python 提供了强大的内置功能来方便地读取和写入文本文件。本节将详细讲解如何通过打开文件、读写文件内容、以及关闭文件等步骤实现文本文件的操作。

1. 打开文件

在操作文件之前,首先需要打开文件。Python 提供了内置的 open() 函数来实现这一功能。其基本语法如下:

file = open(file_path, mode, encoding=None)
  • file_path:文件的路径,可以是相对路径或绝对路径。
  • mode:文件打开模式(如读取、写入或追加模式),常见值包括:
    • 'r':只读模式,默认值。
    • 'w':写入模式,若文件不存在会创建文件,存在则覆盖。
    • 'a':追加模式,将内容添加到文件末尾。
  • encoding:指定文件编码(如 utf-8),推荐在处理文本文件时明确指定,以避免乱码问题。

示例代码如下:

# 打开文件进行读取
file = open("example.txt", "r", encoding="utf-8")
print("文件已成功打开")
2. 读取文件内容

Python 提供了多种方法来读取文件内容,主要包括以下几种:

(1)读取整个文件内容
使用 read() 方法可以一次性读取文件的所有内容。

# 打开文件并读取所有内容
file = open("example.txt", "r", encoding="utf-8")
content = file.read()  # 读取整个文件内容
print(content)  # 打印文件内容
file.close()  # 关闭文件

(2)按行读取文件内容
使用 readlines() 方法将文件的每一行作为一个字符串存储到列表中,或者使用 for 循环逐行读取内容。

# 使用 readlines() 方法读取每一行
file = open("example.txt", "r", encoding="utf-8")
lines = file.readlines()  # 返回一个列表,每个元素是一行
for line in lines:
    print(line.strip())  # 去除换行符打印
file.close()

# 使用 for 循环逐行读取
file = open("example.txt", "r", encoding="utf-8")
for line in file:
    print(line.strip())  # 去除换行符打印
file.close()
3. 写入文件内容

写入文件时需要使用 wa 模式。注意,w 模式会覆盖原有内容,而 a 模式则是将新内容追加到文件末尾。

(1)写入新内容

# 打开文件并写入新内容
file = open("example.txt", "w", encoding="utf-8")
file.write("这是第一行内容。\n")
file.write("这是第二行内容。\n")
print("内容已写入文件")
file.close()  # 关闭文件

(2)追加内容

# 打开文件并追加内容
file = open("example.txt", "a", encoding="utf-8")
file.write("这是追加的一行内容。\n")
print("内容已追加到文件")
file.close()  # 关闭文件
4. 关闭文件

操作完成后,务必使用 close() 方法关闭文件,以释放系统资源并确保数据写入磁盘。

file = open("example.txt", "r", encoding="utf-8")
# 进行文件操作...
file.close()
5. 结合读写操作的完整代码示例

以下是一个完整的代码示例,展示了文件的读取和写入操作:

# 打开文件并写入内容
file = open("example.txt", "w", encoding="utf-8")
file.write("Python 文件操作示例\n")
file.write("写入了一些示例文本。\n")
file.close()

# 打开文件并读取内容
file = open("example.txt", "r", encoding="utf-8")
for line in file:
    print(line.strip())  # 去除换行符
file.close()
注意事项
  1. 确保文件存在:在读取文件时,若文件不存在,Python 会抛出 FileNotFoundError 异常。
  2. 指定正确的编码:在处理文本文件时,建议始终指定 encoding 参数,常用 utf-8 编码,避免出现乱码。
  3. 关闭文件:操作完成后一定要关闭文件,避免占用系统资源。

http://www.kler.cn/a/453140.html

相关文章:

  • AAAI-2024 | 大语言模型赋能导航决策!NavGPT:基于大模型显式推理的视觉语言导航
  • 高仿CSDN编辑器,前端博客模板
  • Python PyMupdf 去除PDF文档中Watermark标识水印
  • GPT-O3:简单介绍
  • 【原创学习笔记】近期项目中使用的西门子V20变频器总结(上篇)
  • 低代码开发中 DDD 领域驱动的页面权限控制
  • 【2024最新】基于Python+Mysql+django的水果销售系统Lw+PPT
  • 网络层协议--ip协议
  • uni-app 中使用微信小程序第三方 SDK 及资源汇总
  • 常用的Django模板语言
  • 437 路径总和III
  • 接口调用限频(代理模式+滑动窗口)
  • Electron【详解】菜单 Menu
  • tokenizer、tokenizer.encode、tokenizer.encode_plus比较
  • 打造两轮差速机器人fishbot:从零开始构建移动机器人
  • 前端开发 -- 自动回复机器人【附完整源码】
  • 如何检查交叉编译器gcc工具链里是否有某个库(以zlib库和libpng库为例)
  • 修炼之道 ---其四
  • 3.系统学习-熵与决策树
  • 福特汽车物流仓储系统WMS:开源了,可直接下载
  • CentOS下安装RabbitMQ
  • HNUST-数据分析技术课堂实验
  • 软件渗透测试如何做?渗透测试作用有哪些?
  • flask后端开发(4):模板访问对象属性和过滤器的使用
  • 短视频运营行业该如何选择服务器?
  • 使用FFmpeg进行拉流和推流操作