⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

Python 文件读写

Python 文件操作 · 难度:进阶 · +15XP

Python 文件操作

文件操作是Python与外部数据交互的核心能力。Python通过内置的open()函数打开文件,配合模式参数控制读写方式。

打开文件的模式

模式含义文件不存在时
'r'只读(默认)报错
'w'写入(覆盖)创建新文件
'a'追加(追加到末尾)创建新文件
'x'创建(文件已存在则报错)创建新文件
'r+'读写(不创建)报错
'b'二进制模式配合以上使用,如'rb'、'wb'

基本读写操作

# 写文件
with open('data.txt', 'w', encoding='utf-8') as f:
    f.write('第一行
')
    f.write('第二行
')
    f.writelines(['第三行
', '第四行
'])

# 读文件 with open('data.txt', 'r', encoding='utf-8') as f: content = f.read() # 一次性读取全部 # 或者: # lines = f.readlines() # 返回列表,每行一个元素 # line = f.readline() # 逐行读取

为什么用 with?

with 语句保证文件在操作完成后自动关闭,即使中间发生异常也不会忘记关闭文件。对比两种写法:

# 不推荐:可能忘记 close()
f = open('data.txt', 'r')
content = f.read()
f.close()  # 容易被遗忘

# 推荐:with 自动关闭 with open('data.txt', 'r') as f: content = f.read() # 此处 f 已自动关闭

逐行读取大文件

# 大文件不能一次性 read(),逐行处理最安全
with open('big_file.txt', 'r', encoding='utf-8') as f:
    for line in f:           # 迭代器,每次只读一行到内存
        line = line.strip()
        if line:
            print(line)

JSON 文件读写

import json
# 写入 JSON
data = {"name": "张三", "age": 25, "skills": ["Python", "SQL"]}
with open('data.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, ensure_ascii=False, indent=2)

# 读取 JSON with open('data.json', 'r', encoding='utf-8') as f: loaded = json.load(f) print(loaded['name']) # 张三

实战练习

  1. 创建一个文本文件,写入5行古诗,然后逐行读取打印
  2. 写一个函数统计文件中某个关键词出现的次数
  3. 将学生成绩字典存入JSON文件,再读取回来
  4. 实现一个简单的日志写入函数,每次调用在文件末尾追加一行带时间戳的内容

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 152 篇
0 完成
🔥 0