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

相关推荐
杨进军几秒前
实现 React Fragment 节点渲染
前端·react.js·前端框架
倔强青铜三2 分钟前
苦练Python第6天:数字魔法全解
人工智能·python·面试
杨进军3 分钟前
实现 React 类组件渲染
前端·react.js·前端框架
小山不高4 分钟前
react封装横向滚动组件
前端
无小道4 分钟前
c++--typedef和#define的用法及区别
c语言·开发语言·汇编·c++
拾光拾趣录5 分钟前
油猴插件开发学习:从零编写你的第一个浏览器增强脚本
前端·浏览器
蜗牛的旷野5 分钟前
华为OD机试_2025_查找单入口空闲区域(Python,100分)(附详细解题思路)
python·算法·华为od
国家不保护废物6 分钟前
深入浅出JavaScript事件循环(event loop):宏任务与微任务的奇幻之旅
前端·javascript·面试
FogLetter7 分钟前
React组件开发之Todos基础:从零打造一个优雅的待办事项应用
前端·javascript·react.js
刘羡阳7 分钟前
使用d3js实现了一个组织架构树形图(拖拽,展开收起)
前端