Python文件读取和写入

文件读取和写入是 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()

  1. 写入多行内容

lines = ["Line 1\n", "Line 2\n", "Line 3\n"]

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

file.writelines(lines)

file.close()

  1. 追加内容到文件末尾

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 编程中常见的操作之一,掌握这些操作可以帮助我们处理各种文件相关的任务,例如数据处理、日志记录、配置文件读写等。记得在使用文件操作时,始终确保文件被正确关闭,以避免资源泄漏和其他问题。

相关推荐
玉笥寻珍1 小时前
数字政务安全实战:等保2.0框架下OA系统防护全解析
python·安全·政务
Stevetagelian2 小时前
vue2实现元素拖拽
前端·javascript·css·vue.js
西哥写代码2 小时前
基于cornerstone3D的dicom影像浏览器 第二十一章 显示DICOM TAGS
前端·javascript·vue
Micro麦可乐3 小时前
前端图片裁剪上传全流程详解:从预览到上传的完整流程
前端·javascript·图片上传·图片裁切·cropper.js
Am1nnn3 小时前
CICD编译时遇到npm error code EINTEGRITY的问题
前端·npm·node.js
..过云雨4 小时前
01. Qt介绍及Qt开发环境搭建(2025.05最新官网下载方式)
开发语言·qt
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ4 小时前
crud方法命名示例
java·开发语言
测试工程喵5 小时前
如何测试JWT的安全性:全面防御JSON Web Token的安全漏洞
前端·网络·功能测试·安全·json·接口测试·token
瓦力wow5 小时前
python 绘制3D平面图
开发语言·python·3d·matplotlib
Python私教6 小时前
PrimeVue菜单组件深度解析:构建高效能的Web导航系统
前端·javascript·vue.js