Skip to content
编码者
编码者

关注IT咨询、IT规划、数字化转型、架构设计、项目管理、软件开发和交付

  • 首页
  • IT咨询
    • IT咨询框架
    • IT项目管理
  • 人工智能
    • AI概念和理论
    • 数据科学
    • 人工智能应用
  • 企业架构
    • 应用架构设计
  • 程序员基础
    • 计算机网络
  • 编程技术栈
    • C语言编程
    • Python编程
    • iOS App开发
    • .NET技术栈
    • WordPress
    • Unity游戏开发
    • UE虚幻引擎
    • 技术问题记录
  • 工具Tips
  • 行业动态
  • 关于我
编码者

关注IT咨询、IT规划、数字化转型、架构设计、项目管理、软件开发和交付

《Python编程》018 – Python文本文件操作基础:从入门到实践

编码者, 2023年8月9日2023年8月9日

Python是一种强大的编程语言,提供了多种方法来操作文本文件,包括读取文件、写入文件、追加内容以及修改文件的特定部分。本文将学习在Python中操作文本文件的各种方法。

打开文本文件

在Python中操作文本文件之前,需要先打开文件。可以使用内置的open()函数来打开文本文件。open()函数接受两个参数:要打开的文件名和打开文件的模式(例如读取模式、写入模式等)。下面是一个打开文本文件的例子:

file = open("example.txt", "r")

在上面的例子中,我们以读取模式(”r”)打开一个名为”example.txt”的文件。这样我们就可以读取文件的内容,但不能修改它们。

open()函数的第二个参数指定了打开文件的模式。下面是一些常用的模式:

  • “r”:读取模式。打开文件进行读取(如果未指定,默认为读取模式)。
  • “w”:写入模式。打开文件进行写入。如果文件已存在,其内容将被覆盖。如果文件不存在,将创建一个新文件。
  • “a”:追加模式。打开文件进行写入。如果文件已存在,新数据将被写入文件末尾。如果文件不存在,将创建一个新文件。
  • “x”:独占模式。创建一个新文件进行写入,但如果文件已存在,则操作失败。

读取文本文件

打开文本文件后,可以使用多种方法读取文件的内容。最常见的方法是使用read()方法,它将整个文件作为一个字符串读取。下面是一个例子:

file = open("example.txt", "r")
contents = file.read()
print(contents)

在上面的例子中,我们将文件的全部内容读取到一个名为contents的变量中,然后将内容打印到控制台。

还可以使用for循环逐行读取文件:

file = open("example.txt", "r")
for line in file:
    print(line)

在上面的例子中,我们使用for循环逐行遍历文件的每一行,使用print()函数将每一行打印到控制台。

还可以使用read()方法指定要读取的字符数,从文件中读取指定数量的字符:

file = open("example.txt", "r")
contents = file.read(10)
print(contents)

在上面的例子中,我们读取文件的前10个字符,并将内容打印到控制台。

写入文本文件

要向文本文件中写入内容,需要以写入模式(”w”)打开文件。下面是一个打开文件并向其中写入文本的例子:

file = open("example.txt", "w")
file.write("Hello, world!")
file.close()

在上面的例子中,我们以写入模式(”w”)打开一个名为”example.txt”的文件,并使用write()方法将字符串”Hello, world!”写入文件中。然后使用close()方法关闭文件。

如果要向文件中写入多行内容,可以使用write()方法并在每行之间用换行符(“\n”)分隔:

file = open("example.txt", "w")
file.write("Line 1\n")
file.write("Line 2\n")
file.write("Line 3\n")
file.close()

在上面的例子中,我们向文件中写入三行文本,每行之间用换行符分隔。

追加文本文件

如果要在现有文本文件的末尾添加新内容,可以以追加模式(”a”)打开文件。下面是一个例子:

file = open("example.txt", "a")
file.write("This is some new text.")
file.close()

在上面的例子中,我们以追加模式(”a”)打开一个名为”example.txt”的文件,并使用write()方法将字符串”This is some new text.”写入文件末尾。然后使用close()方法关闭文件。

修改文本文件的特定部分

在某些情况下,你可能想要修改文本文件的特定部分,而不影响文件的其他部分。为了实现这个目的,可以将文件的内容读入内存,修改内容,然后将修改后的内容写回文件。

例如,假设你有一个名为”example.txt”的文件,其中包含以下文本:

This is line 1.
This is line 2.
This is line 3.

如果你想要用一行新文本替换第二行,可以按照以下步骤进行操作:

# 将文件的内容读入内存
with open("example.txt", "r") as file:
    contents = file.readlines()

# 在内存中修改内容
contents[1] = "This is the new second line.\n"

# 将修改后的内容写回文件
with open("example.txt", "w") as file:
    file.writelines(contents)

上面的例子中,我们使用with语句打开文件并读取其内容到一个列表中。然后我们修改列表中的第二行内容,将其替换为新的文本。最后,我们使用with语句再次打开文件,并使用writelines()方法将修改后的内容写回文件。

总结

文件的输入/输出(IO)需要三个步骤:

  1. 打开文件以进行读取、写入或读写操作。
  2. 读取/写入数据。
  3. 关闭文件以释放资源。

Python提供了内置的函数和模块来支持这些操作。

通过以上章节的介绍,你现在应该了解如何在Python中操作文本文件了。无论是读取文件、写入文件、追加内容还是修改特定部分,Python都提供了简单而强大的工具来处理文本文件操作。

Post Views: 1,061
Python编程

文章导航

Previous post
Next post

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

近期文章

  • 机器学习三要素:模型假设、评价函数与优化算法如何协同工作
  • 如何导出宽表格Excel为PDF且不裁剪列
  • 人工智能发展简史:从图灵到ChatGPT的里程碑之路
  • AI Agents介绍:定义、原理、案例与未来展望
  • 人工智能(AI)初学者学习路线图(2025年)
  • 《Unity入门实战》0008 – 使用 Unity 的 [SerializeField] 实现封装与 Inspector 面板访问
  • 《Unity入门实战》0007 – 第一个 Unity C# 脚本:控制 2D 小球移动与跳跃
  • 2025年AI行业趋势综述
  • 《Unity入门实战》0006 – 第一个 C# 示例代码,演示如何捕获输入
  • 《Unity入门实战》0005 – 创建 C# 脚本

近期评论

    归档

    • 2025 年 6 月 (7)
    • 2025 年 5 月 (10)
    • 2025 年 4 月 (5)
    • 2025 年 2 月 (1)
    • 2024 年 12 月 (4)
    • 2024 年 11 月 (7)
    • 2024 年 9 月 (1)
    • 2024 年 8 月 (4)
    • 2024 年 7 月 (1)
    • 2024 年 2 月 (1)
    • 2023 年 12 月 (3)
    • 2023 年 11 月 (6)
    • 2023 年 10 月 (4)
    • 2023 年 9 月 (2)
    • 2023 年 8 月 (38)
    • 2022 年 2 月 (1)
    • 2022 年 1 月 (13)
    • 2021 年 1 月 (1)
    • 2020 年 10 月 (1)
    • 2020 年 1 月 (1)
    • 2014 年 7 月 (2)

    分类

    • IT咨询 (7)
      • IT咨询框架 (3)
      • IT项目管理 (2)
    • 人工智能 (10)
      • AI概念和理论 (1)
      • 数据科学 (3)
    • 企业架构 (3)
    • 工具Tips (2)
    • 生活笔记 (24)
    • 程序员基础 (3)
      • 计算机网络 (2)
    • 编程笔记 (56)
      • .NET技术栈 (3)
      • C语言编程 (1)
      • Golang技术栈 (1)
      • iOS App开发 (1)
      • Python编程 (18)
      • UE虚幻引擎 (1)
      • Unity游戏开发 (9)
      • Wordpress (5)
      • 工具 (1)
    • 行业动态 (14)
    ©2025 编码者 | WordPress Theme by SuperbThemes | 沪ICP备17019044号-3