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

相关推荐
寻星探路2 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
崔庆才丨静觅3 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
lly2024063 小时前
Bootstrap 警告框
开发语言
2601_949146534 小时前
C语言语音通知接口接入教程:如何使用C语言直接调用语音预警API
c语言·开发语言
曹牧4 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
passerby60614 小时前
完成前端时间处理的另一块版图
前端·github·web components
KYGALYX4 小时前
服务异步通信
开发语言·后端·微服务·ruby
掘了4 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
zmzb01034 小时前
C++课后习题训练记录Day98
开发语言·c++
崔庆才丨静觅4 小时前
实用免费的 Short URL 短链接 API 对接说明
前端