Python 文件处理(二十一)

Python 文件处理

一、引言

在 Python 编程里,文件处理是极为常见且重要的操作。它能让程序与外部文件进行交互,实现数据的读取、写入和修改等功能。Python 为文件处理提供了简洁且强大的方法,接下来我们将详细探讨 Python 文件处理的各个方面。

二、文件打开与关闭

2.1 打开文件

在 Python 中,可使用 open() 函数来打开文件。该函数接收两个主要参数:文件路径和打开模式。

python 复制代码
# 使用 open() 函数打开一个名为 'test.txt' 的文件,以只读模式打开
file = open('test.txt', 'r')

常见的打开模式如下:

  • 'r':只读模式,若文件不存在会报错。
  • 'w':写入模式,会覆盖原文件内容,若文件不存在则创建新文件。
  • 'a':追加模式,在文件末尾添加内容,若文件不存在则创建新文件。
  • 'b':二进制模式,可与其他模式组合使用,如 'rb' 表示以二进制只读模式打开文件。

2.2 关闭文件

文件使用完毕后,需要调用 close() 方法关闭文件,以释放系统资源。

python 复制代码
# 关闭之前打开的文件
file.close()

不过,为了避免忘记关闭文件,推荐使用 with 语句,它能在代码块执行完毕后自动关闭文件。

python 复制代码
# 使用 with 语句打开文件,代码块结束后文件会自动关闭
with open('test.txt', 'r') as file:
    # 这里可以进行文件操作
    pass

三、文件读取

3.1 读取整个文件内容

可使用 read() 方法读取整个文件的内容。

python 复制代码
# 使用 with 语句以只读模式打开文件
with open('test.txt', 'r') as file:
    # 读取整个文件的内容
    content = file.read()
    # 打印读取的内容
    print(content)

3.2 逐行读取文件内容

使用 readline() 方法可逐行读取文件内容。

python 复制代码
# 使用 with 语句以只读模式打开文件
with open('test.txt', 'r') as file:
    # 逐行读取文件内容
    line = file.readline()
    while line:
        # 打印当前行的内容
        print(line)
        # 读取下一行
        line = file.readline()

也可以使用 for 循环更简洁地逐行读取文件。

python 复制代码
# 使用 with 语句以只读模式打开文件
with open('test.txt', 'r') as file:
    # 使用 for 循环逐行读取文件内容
    for line in file:
        # 打印当前行的内容
        print(line)

3.3 读取所有行并存储为列表

使用 readlines() 方法可将文件的所有行读取并存储为一个列表。

python 复制代码
# 使用 with 语句以只读模式打开文件
with open('test.txt', 'r') as file:
    # 读取所有行并存储为列表
    lines = file.readlines()
    # 打印列表
    print(lines)

四、文件写入

4.1 写入内容到文件

使用 write() 方法可将内容写入文件。

python 复制代码
# 使用 with 语句以写入模式打开文件
with open('test.txt', 'w') as file:
    # 定义要写入的内容
    text = "Hello, World!\n"
    # 将内容写入文件
    file.write(text)

4.2 追加内容到文件

使用 'a' 模式打开文件,可在文件末尾追加内容。

python 复制代码
# 使用 with 语句以追加模式打开文件
with open('test.txt', 'a') as file:
    # 定义要追加的内容
    text = "This is an appended line.\n"
    # 将内容追加到文件末尾
    file.write(text)

五、文件操作示例:复制文件

下面是一个复制文件的示例,展示了如何读取一个文件的内容并将其写入另一个文件。

python 复制代码
# 源文件路径
source_file = 'source.txt'
# 目标文件路径
target_file = 'target.txt'

# 以只读模式打开源文件
with open(source_file, 'r') as source:
    # 读取源文件的内容
    content = source.read()
    # 以写入模式打开目标文件
    with open(target_file, 'w') as target:
        # 将源文件的内容写入目标文件
        target.write(content)

六、总结与展望

6.1 总结

Python 提供了丰富且便捷的文件处理方法,通过 open() 函数可以灵活地打开文件,使用不同的模式进行读取和写入操作。with 语句能确保文件在使用完毕后自动关闭,避免资源泄漏。掌握这些方法,能让我们轻松实现文件的读写和修改等功能。

6.2 展望

随着数据量的不断增大和应用场景的日益复杂,对文件处理的效率和性能要求也会越来越高。未来,Python 可能会在文件处理方面提供更多优化和扩展,例如支持更高效的大文件处理、分布式文件系统的操作等。开发者也需要不断学习和探索,以应对不断变化的需求。

相关推荐
其实防守也摸鱼几秒前
Claude 大模型新手入门与实战指南
人工智能·python·功能测试·ai·大模型·测评
jinxindeep1 分钟前
中科院DexJoCo:面向灵巧操作的基准测试与工具集
人工智能
Dust-Chasing3 分钟前
Claude Code源码剖析 - 权限系统
人工智能·python·ai
甲维斯3 分钟前
Fable5是真·神!用canvas手搓超级玛丽无bug!
人工智能·游戏开发
lulu12165440783 分钟前
大模型API聚合平台技术架构深度对比:六大平台协议转换、路由调度与安全治理全解析 - 微元算力(weytoken)
java·人工智能·安全·架构·ai编程
米小虾4 分钟前
我与AI的对话:从大模型的知识本质,到具身智能能否催生真正的知识创造者,再到人的教育与成长
人工智能·aigc
测试者家园4 分钟前
用 Skills 自动生成测试用例:一套可落地方案
人工智能·测试用例·持续测试·职业和发展·ai赋能·智能化测试
上海达策TECHSONIC5 分钟前
零售ERP选型解析:SAP Business One 适配成长型零售企业的核心逻辑
大数据·运维·人工智能·云计算·运维开发·零售
茉莉玫瑰花茶5 分钟前
综合案例 - AI 智能租房助手 [ 4 ]
数据库·python·ai·langgraph
浮午5 分钟前
腾讯AI应用开发一面实录:13道硬核面试题全解析
人工智能·面试·职场和发展