Python文件读取和写入

news/2024/9/24 0:55:11/

文件读取和写入是 Python 中常见的操作之一,通过这些操作,我们可以读取外部文件中的数据,对其进行处理,并将处理结果写入到文件中。本文将详细介绍 Python 中的文件读取和写入操作,包括如何打开文件、读取文件内容、写入文件内容等。

一、打开文件

在 Python 中,我们可以使用内置的 open() 函数来打开一个文件,其语法如下:file = open(filename, mode)

其中,filename 是要打开的文件名(包括路径),mode 是打开文件的模式,常用的模式包括:

  • 'r':只读模式,用于读取文件内容(默认模式)。
  • 'w':写入模式,用于写入文件内容,如果文件不存在则创建新文件,如果文件已存在则清空文件内容。
  • 'a':追加模式,用于在文件末尾添加内容,如果文件不存在则创建新文件。
  • 'b':二进制模式,用于读取或写入二进制文件

    二、文件读取

    打开文件后,可以使用文件对象的 read() 方法来读取文件内容,或者逐行读取文件内容。以下是一些常见的文件读取操作示例:

    1. 读取整个文件内容
  • file = open("example.txt", "r")
    content = file.read()
    print(content)
    file.close()
     
  • 2. 逐行读取文件内容
  • file = open("example.txt", "r")
    for line in file:
        print(line.strip())  # strip() 方法用于去除行末尾的换行符
    file.close()
     
  • 3. 读取指定字节数
  • file = open("example.txt", "r")
    content = file.read(100)  # 读取前 100 个字节的内容
    print(content)
    file.close()

    三、文件写入

    同样地,通过文件对象的 write() 方法可以将数据写入文件中。以下是一些常见的文件写入操作示例:

    1. 写入单行内容

file = open("example.txt", "w")
file.write("Hello, world!\n")
file.close()
2. 写入多行内容

lines = ["Line 1\n", "Line 2\n", "Line 3\n"]
file = open("example.txt", "w")
file.writelines(lines)
file.close()
3. 追加内容到文件末尾

file = open("example.txt", "a")
file.write("Append content\n")
file.close()

四、自动关闭文件

在 Python 中,使用 open() 函数打开文件后,应该始终使用 close() 方法关闭文件,以释放文件资源。为了确保文件被正确关闭,可以使用 with 语句,它会在代码块执行完毕后自动关闭文件,无需手动调用 close() 方法。

with open("example.txt", "r") as file:
    content = file.read()
    print(content)

五、异常处理

在文件读取和写入过程中,可能会出现各种异常情况,例如文件不存在、权限不足等。为了增加程序的健壮性,我们可以使用异常处理机制来捕获并处理这些异常。

try:
    file = open("example.txt", "r")
    content = file.read()
    print(content)
except FileNotFoundError:
    print("文件不存在!")
finally:
    file.close()

结语

通过本文的介绍,你应该对 Python 中的文件读取和写入有了全面的了解。文件读取和写入是 Python 编程中常见的操作之一,掌握这些操作可以帮助我们处理各种文件相关的任务,例如数据处理、日志记录、配置文件读写等。记得在使用文件操作时,始终确保文件被正确关闭,以避免资源泄漏和其他问题。


http://www.ppmy.cn/news/1456864.html

相关文章

上海个人购房提取公积金经历和注意事项(收藏不踩坑)

在前一篇文章中,我介绍了 2024 年 4 月 24 日上海个人购房个税退税经历,我于 4 月 27 日周六,顺利办理租房公积金提取业务,资金在业务办理完成后 10 分钟左右到账。通过本文分享办理过程的材料和注意事项,避免大家踩坑…

Penpad再获 Presto Labs 投资,Scroll 生态持续扩张

Penpad是Scroll生态的LaunchPad平台,其整计划像收益聚合器以及RWA等功能于一体的综合性Web3平台拓展,该平台在近期频获资本市场关注,并获得了多个知名投资者/投资机构的支持。 截止到本文发布前,Penpad已经获得了包括Scroll联合创…

vue入门-项目目录详解

your-vue-project/ ├── node_modules/ # 项目依赖的npm包 ├── public/ # 公共资源和配置 │ ├── index.html # 项目的入口html文件 │ └── ... # 其他公共资源文件,如favicon.ico等 ├── src/ # 项目的源代码目录 │ ├── assets/ # 静态资源目录&a…

如何判断代理IP质量?

由于各种原因(从匿名性和安全性到绕过地理限制),代理 IP 的使用变得越来越普遍。然而,并非所有代理 IP 都是一样的,区分高质量和低质量的代理 IP 对于确保流畅、安全的浏览体验至关重要。以下是评估代理 IP 质量时需要…

新的循环体和define

目录 do while讲解 练习: 结果: 分析: 定义:宏(define) 练习: 结果: 分析: define的优缺点 优点: 缺点: 作业: 大家假期…

611. 有效三角形的个数(双指针)

文章目录 前言一、题目解析二、代码原理1.暴力解法2.双指针优化 三、代码编写总结 前言 在本篇文章中,我们将会带着大家解决一下611. 有效三角形的个数这道题目,本道题木将会用双指针的方法解决。 一、题目解析 给定一个包含非负整数的数组 nums &…

git的操作命令有哪些、PyCharm 中常用的 Git 操作命令、-b参数的使用、stash命令在git中的使用、rebase在git中的使用

1 git的操作命令有哪些 2 PyCharm 中常用的 Git 操作命令 3 -b参数的使用 4 stash命令在git中的使用 5 rebase在git中的使用 1 git的操作命令有哪些 1. **初始化一个新的仓库**&#xff1a;git init2. **克隆仓库**&#xff1a;git clone <repository_url>3. **添加文件…

Java面试题:解释Phaser类的作用以及它如何帮助多线程同步

Phaser 是 Java 并发包 java.util.concurrent 中的一个同步辅助类&#xff0c;它用于多线程之间的同步。Phaser 的设计灵感来自于“相位”的概念&#xff0c;它允许多个线程在多个不同的阶段&#xff08;phase&#xff09;中相互协调&#xff0c;从而实现复杂的线程协作。 以下…