百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

python入门-day12: 文件操作(python文件操作总结)

itomcoil 2025-03-24 17:23 6 浏览

文件操作 的内容,包括读写文本文件、使用 with 语句,最后通过一个练习(将学生成绩保存到文件并读取)帮你把知识点串起来。我会用简单易懂的语言,确保新手也能轻松掌握。


Day 12: 文件操作

1. 读写文本文件(open、read、write)

  • 什么是文件操作?
  • 文件操作就是 Python 读写文件内容的技能,比如把数据保存到文件,或从文件读取数据。
  • 就像在电脑上写日记(保存)或看日记(读取)。
  • 打开文件:open()
  • 用 open(文件名, 模式) 打开文件。
  • 常用模式:
  • 'r': 读取(默认模式),文件不存在会报错。
  • 'w': 写入,会覆盖原内容,文件不存在会新建。
  • 'a': 追加,写在文件末尾,不覆盖。
  • 例子:
  • python
  • file = open("test.txt", "w") # 打开文件准备写入
  • 读取文件:read()
  • 用 read() 读取全部内容,或者用 readline() 读一行。
  • 例子:
  • python
  • file = open("test.txt", "r") content = file.read() print(content) file.close() # 关闭文件
  • 写入文件:write()
  • 用 write() 把内容写入文件。
  • 例子:
  • python
  • file = open("test.txt", "w") file.write("Hello, Python!") file.close() # 关闭文件
  • 注意:
  • 操作完文件要用 close() 关闭,否则可能数据没保存或占用资源。

2. with 语句

  • 什么是 with 语句?
  • with 是一种更安全的文件操作方式,自动关闭文件,不用手动写 close()。
  • 就像借书时自动还书,不用担心忘记。
  • 语法:
  • python
  • with open(文件名, 模式) as 文件对象: # 操作文件
  • 例子:
  • 写入:
  • python
  • with open("test.txt", "w") as file: file.write("Hello with Python!") # 文件自动关闭
  • 读取:
  • python
  • with open("test.txt", "r") as file: content = file.read() print(content) # 输出: Hello with Python!
  • 优点:
  • 简洁、安全,即使代码出错,文件也会正确关闭。

3. 练习:将学生成绩保存到文件并读取

  • 需求:
  • 创建一个学生成绩字典。
  • 把成绩保存到文件(比如 scores.txt)。
  • 从文件读取成绩并显示。
  • 代码实现:

python

# 学生成绩字典
scores = {
    "小明": 95,
    "小红": 88,
    "小刚": 92
}

# 步骤 1:保存到文件
with open("scores.txt", "w") as file:
    for name, score in scores.items():
        file.write(f"{name}: {score}\n")  # 每行写一个学生

print("成绩已保存到 scores.txt")

# 步骤 2:读取并显示
with open("scores.txt", "r") as file:
    content = file.read()
    print("读取的学生成绩:")
    print(content)
  • 代码说明:
  • 保存: 用 with 打开文件写入模式,把字典里的键值对写成 "名字: 成绩" 的格式,每行一个。
  • 读取: 用 with 打开文件读取模式,用 read() 读取全部内容并打印。
  • 运行结果:
成绩已保存到 scores.txt
读取的学生成绩:
小明: 95
小红: 88
小刚: 92
  • 生成的文件 scores.txt 内容:
小明: 95
小红: 88
小刚: 92
  • 加点挑战:读取后还原成字典

python

# 保存成绩
scores = {"小明": 95, "小红": 88, "小刚": 92}
with open("scores.txt", "w") as file:
    for name, score in scores.items():
        file.write(f"{name}: {score}\n")

# 读取并还原成字典
new_scores = {}
with open("scores.txt", "r") as file:
    for line in file:  # 逐行读取
        name, score = line.strip().split(": ")  # 去掉换行符,按 ": " 分割
        new_scores[name] = int(score)  # 转成整数存入字典

print("还原后的字典:", new_scores)
  • 运行结果:
还原后的字典: {'小明': 95, '小红': 88, '小刚': 92}
  • 代码说明:
  • 逐行读取: 用 for line in file 遍历每行。
  • 处理行: 用 strip() 去掉换行符,split(": ") 分割成名字和成绩。
  • 还原字典: 把成绩转成整数,存回字典。

完整练习代码

python

# 定义学生成绩
scores = {"小明": 95, "小红": 88, "小刚": 92}

# 保存到文件
with open("scores.txt", "w") as file:
    for name, score in scores.items():
        file.write(f"{name}: {score}\n")
print("成绩已保存到 scores.txt")

# 读取并显示
with open("scores.txt", "r") as file:
    print("读取的学生成绩:")
    print(file.read())

# 读取并还原成字典
new_scores = {}
with open("scores.txt", "r") as file:
    for line in file:
        name, score = line.strip().split(": ")
        new_scores[name] = int(score)
print("还原后的字典:", new_scores)

总结

  1. 读写文件:
  2. open() 打开文件,read() 读取,write() 写入,close() 关闭。
  3. with 语句:
  4. 自动管理文件,省心又安全。
  5. 练习:
  6. 把字典保存到文件,像记账本一样;读取回来还原,像查账一样。
  • 心得: 文件操作就像管理日记本,with 是智能助手,让你不用操心关门。练习让我学会把内存里的数据存到硬盘,再拿回来用,感觉很实用!

如果有疑问,或者想加点功能(比如追加成绩、处理多个文件),随时告诉我哦!

相关推荐

Python 最常用的语句、函数有哪些?

1.#coding=utf-8①代码中有中文字符,最好在代码前面加#coding=utf-8②pycharm不加可能不会报错,但是代码最终是会放到服务器上,放到服务器上的时候运行可能会报错。③...

PyYAML 实用的使用技巧

作者:Reorx’sForge中文版:https://reorx.com/blog/python-yaml-tips-zh英文版:Tipsthatmaysaveyoufromthehe...

学习编程第127天 python中字符串与数值中的巧妙应用

今天学习的刘金玉老师零基础Python教程第10期,主要内容是python中字符串与数值中的巧妙应用。一、新建一个工程如图,新建一个工程。二、字符串与数值的区别变量只有为数值的时候,才能进行数学运算。...

Python 必学!12 个 “开挂级” 内置函数深度解析(小白也能秒懂)

干货来了以下是Python中12个强大内置函数的深度解析,涵盖数据处理、代码优化和高级场景,助你写出更简洁高效的代码:一、数据处理三剑客1.map(function,iterable)作用:...

Python浮点数保留两位小数的方法

技术背景在Python编程中,经常会遇到需要将浮点数保留特定小数位数的情况,比如在处理货币、统计数据等场景。然而,由于浮点数在计算机中采用二进制表示,存在精度问题,导致直接使用round函数有时无法得...

DAY4-step5 Python示例说明 round()函数

Round()Round()是python提供的内置函数。它将返回一个浮点数,该浮点数将四舍五入到指定的精度。如果未指定要舍入的小数位,则将其视为0,并将舍入到最接近的整数。语法:round(flo...

第五个测试版本了,iOS 9 又有了什么变化?

今天的早些时候苹果发布了iOS9beta5,除去修复BUG和提升系统的稳定性外,苹果还带来了一些新功能。本次更新包括了对Carplay,WiFi以及Siri等功能的优化,Mac...

如何在 Python 中随机排列列表元素

在本教程中,我们将学习在Python中如何打乱列表元素顺序,随机排列列表元素。如何随机排列列表是一项非常有用的技能。它在开发需要选择随机结果游戏中非常有用。它还适用于数据相关的工作中,可能需要提取...

Python获取随机数方法汇总

1.random.random()作用:随机生成一个[0,1)之间的浮点数importrandomprint(f'随机生成一个[0,1)之间的浮点数={random.random()}&...

Python程序开发之简单小程序实例(11)小游戏-跳动的小球

Python程序开发之简单小程序实例(11)小游戏-跳动的小球一、项目功能用户控制挡板来阻挡跳动的小球。二、项目分析根据项目功能自定义两个类,一个用于控制小球在窗体中的运动,一个用于接收用户按下左右键...

Keras人工智能神经网络 Regressor 回归 神经网络搭建

前期分享了使用tensorflow来进行神经网络的回归,tensorflow构建神经网络本期我们来使用Keras来搭建一个简单的神经网络Keras神经网络可以用来模拟回归问题(regression)...

我让DeepSeek写程序,有懂的看看写的对不对?

他写的时候就像教学生解方程一样,解释一段写一段,因为中间太长,我就截了最后的结果,应该是手机版本复制字数有限,可能也没复制全,有没有懂的看看写的对不对?下面是他写的最后结果。importrandom...

Picker Wheel 线上随机抽签轮盘

#头条创作挑战赛#办公室经常会碰到「中午要吃什么?」、「要订哪家饮料店?」或「谁要去帮大家跑腿?」等各种情境,为了公平起见,我们可以使用随机方式进行抽签,这样一来就能确保公平公正性,其他人也就不...

思维链COT原理探究

TEXTANDPATTERNS:FOREFFECTIVECHAINOFTHOUGHTITTAKESTWOTOTANGO测试模型:PaLM-62B,GPT3,CODEXCOT元素...

永别了iPod!系列产品回顾,你用过几款?

中关村在线消息:就在本周,苹果官方宣布iPod系列将不再生产新品,现货售完即止。作为一个偏向音乐播放的系列,iPod系列想必陪伴了很多朋友的学生年代。近日有外媒总结了iPod系列的全部产品,来看看你用...