Python基础入门 Day74 文件读写操作进阶

41次阅读
没有评论

共计 965 个字符,预计需要花费 3 分钟才能阅读完成。

在前面的学习中,我们已经了解了如何打开文件并读取内容。今天我们深入学习文件读写操作的更多细节,包括不同模式和二进制文件的处理。

  1. 文件打开模式
    open() 函数中,可以通过第二个参数指定模式:
  • "r":只读模式(默认)
  • "w":写入模式(会清空原文件)
  • "a":追加模式(在文件末尾写入内容)
  • "rb":以二进制方式读取
  • "wb":以二进制方式写入

例如:

f = open("example.txt", "w")
f.write("Hello Python")
f.close()
  1. 逐行读取文件
    如果文件内容很多,可以按行读取:
with open("example.txt", "r") as f:
    for line in f:
        print(line.strip())
  1. 一次性读取所有内容
with open("example.txt", "r") as f:
    content = f.read()
    print(content)
  1. 写入多行内容
with open("data.txt", "w") as f:
    lines = [" 第一行 \n", " 第二行 \n", " 第三行 \n"]
    f.writelines(lines)
  1. 文件追加写入
with open("data.txt", "a") as f:
    f.write(" 这是追加的内容 \n")
  1. 二进制文件读写
    处理图片、音频等非文本文件时需要二进制模式:
# 复制图片
with open("image.jpg", "rb") as f1:
    data = f1.read()
with open("copy.jpg", "wb") as f2:
    f2.write(data)
  1. 文件指针控制
    使用 seek() 可以控制文件指针位置:
with open("example.txt", "r") as f:
    f.seek(5)  # 将指针移动到第 6 个字节
    print(f.read())
  1. 结合异常处理
try:
    with open("nofile.txt", "r") as f:
        print(f.read())
except FileNotFoundError:
    print(" 文件不存在 ")

总结:
文件读写是编程中非常常见的操作。掌握文本模式与二进制模式的区别,能够帮助我们处理各种数据文件。

练习与思考:

  1. 创建一个文本文件,写入 5 行内容,然后读取并逐行打印。
  2. 编写一个程序,将一个文件的内容复制到另一个文件。
  3. 使用 seek()read() 方法,尝试只读取文件中间的一部分内容。
正文完
 0
评论(没有评论)