平时带娃写代码,经常会遇到一个让人抓狂的问题:不管咱们在程序里存了多少学生成绩、写了多厉害的英雄属性,只要把运行窗口一关,数据瞬间全部清空!下次打开,还得重新输入。
怎么才能让程序把数据永久保存下来呢?
这就必须带娃掌握 Python 里极其核心的大招——文件 IO 操作(读写文件)。今天咱们不掉书袋,直接用最接地气的大白话,把文件的打开、读取、写入和关闭彻底盘明白!
🔑 核心起手式:打开文件的大门 open()
在 Python 里,不管是想读数据还是写数据,第一步都是“开门”。我们用内置的 open() 函数来实现。
它的万能公式是:f_object = open(name, mode)
👀 绝招一:只读模式提取数据(mode = 'r' / 'rb')
如果我们只想把之前存好的文件内容拿出来用,就需要用到读取模式。
🚨 避坑提示: 在读取模式下,如果你让电脑去找一个根本不存在的文件,程序会立刻翻脸,抛出一个 IOError 的错误警告!
💡 怎么把文字一行行拿出来?电脑非常聪明,我们直接用 for 循环,就能把文件对象里的内容逐行读取出来(读出来的数据全都是字符串格式):
✍️ 绝招二:霸道总裁式的写入(mode = 'w' / 'wb')
既然能读,那肯定得能往里存数据!这时候我们要换门禁卡了。
🚨 注意它的“霸道”脾气:
文件不存在? 没关系!open() 函数会自动帮你新建一个文件!
文件已存在? 小心了!它会把原来文件里的东西全部抹除覆盖,从头开始写你的新内容!
💡 怎么写进去最快?记住一个铁律:往文件里写的东西,必须得是“字符串”! 如果你手里拿的是数字或者列表,必须先用 str() 函数强行变身成字符串。
如果要把一个列表快速塞进文件,除了用 for 循环一行行写,教大家一个更高级的一键拼接大法:
🔒 终极保命符:千万别忘了关门 close()!
很多孩子写完 open() 和读取/写入逻辑后,拍拍屁股就去运行了,结果发现写入的数据全丢了!
为什么?因为差了最后也是最重要的一步:close() 关闭文件!
所以,永远让娃养成好习惯:只要写了 open(),代码结尾一定要配上 close()!
# 拔掉电源,锁好大门,保证数据完美保存!f.close()
今晚就带娃试着把之前写的“学生管理系统”升个级,用
open() 和 close() 让输入的数据永远活在电脑里吧!绝对会让孩子成就感飙升!