Python基础入门 Day70 文件写入与追加操作

93次阅读
没有评论

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

在前一节中我们学习了文件读取的高级技巧,本节将重点放在文件的写入和追加操作上,这是数据持久化存储的重要基础。

  1. 写入模式 w
    "w" 模式打开文件会清空原有内容,然后写入新数据:
with open("output.txt", "w", encoding="utf-8") as f:
    f.write(" 第一行内容 \n")
    f.write(" 第二行内容 \n")

如果 output.txt 文件不存在,会自动创建。如果存在,原有内容会被覆盖。

  1. 追加模式 a
    "a" 模式打开文件会在文件末尾追加新内容,而不会清空已有数据:
with open("output.txt", "a", encoding="utf-8") as f:
    f.write(" 追加的一行内容 \n")

这种方式常用于日志系统,每次写入不会影响已有记录。

  1. 一次性写入多行
    可以使用 writelines() 方法批量写入多行:
lines = [" 第一行 \n", " 第二行 \n", " 第三行 \n"]
with open("output.txt", "w", encoding="utf-8") as f:
    f.writelines(lines)

注意 writelines() 不会自动添加换行符,因此需要在字符串末尾加 \n

  1. 结合读写模式 r+ / w+ / a+
  • "r+" 表示可读可写,文件必须存在,写入从文件开头开始,可能覆盖原有内容。
  • "w+" 表示可读可写,如果文件存在则清空,不存在则新建。
  • "a+" 表示可读可写,写入从文件末尾追加,不会清空文件。

示例:

with open("output.txt", "a+", encoding="utf-8") as f:
    f.write(" 新的追加内容 \n")
    f.seek(0)
    print(f.read())
  1. 小技巧:自动换行写入
    为避免忘记加 \n,可以自己封装一个写入函数:
def write_line(filename, text):
    with open(filename, "a", encoding="utf-8") as f:
        f.write(text + "\n")

write_line("output.txt", " 封装写入的一行 ")

总结:
本节我们掌握了文件写入与追加的多种方式,并理解了 "w""a""r+" 等不同模式的应用场景。在实际项目中,写入模式的选择直接决定了数据是否被覆盖或追加,必须谨慎操作。

练习与思考:

  1. 创建一个程序,每次运行时向文件中写入“程序运行了一次”,并统计运行次数。
  2. 写一个函数,能够接受一个字符串列表,将其逐行写入到文件中。
  3. 使用 "a+" 模式写入数据后,再次读取整个文件内容,验证追加是否成功。
正文完
 0
评论(没有评论)