[Python3] 使用pickle读写文件[TZZ]

2025-04-20 16:17:58

1、启动IDLE程序(必须安装Python3),点击界面菜单中的“File > New File”,新建一个空白的Python源代码文件;

[Python3] 使用pickle读写文件[TZZ]

2、在新打开的“Python编辑器窗口”中,点击“Ctrl + S”,将新文件命名为“pickle_file”并保存到“D:\test”目录下;

[Python3] 使用pickle读写文件[TZZ]

3、在“pickle_file.py”编辑窗口中,定义3个列表,分别保存3条学生信息。然后,定义一个表示文件路径的格式化字符串,其中文件扩展名可以采用任意自定义字符串;

[Python3] 使用pickle读写文件[TZZ]

4、继续向源代码中,添加使用write()函数写入“zsInfo”中四个元素到“pi罕铞泱殳ckle1.dat”文件中的代码(如果你对try..except和with的用法不熟悉,可以参考“[Python3] 写入文本文件[TZZ]”),然后点击F5运行代码。在Python中,打开一个进行写入操作的二进制文件,只需要将文件模式指定为“wb”即可。使用文件I/O的write()方法写入数据时,由于它只支持类byte格式的数据,因此,必须使用字符串的encode()方法将字符串转换成bytes类型或者使用bytes()从字符串构造一个bytes对象;

[Python3] 使用pickle读写文件[TZZ]

5、进入“D:\test”目袄嬖艽蛞录,使用记事本打开程序创建的“pickle1.dat”文件。你会发现,这个文件虽然是用二进制方式打开并写入内容的。但是,这个文件实际是个文本文件。由此可以确定,Python中文件I/O提供的write()方法实际写入的内容还是字符串(哪怕类型是bytes);

[Python3] 使用pickle读写文件[TZZ]

6、为了以二进制方式将数据保存到文件。Python为我们提供了pickle模块。通过该模块提供dump()方法可以以二进制方式写入Python对象。通过该模块提供的load()方法可以读取文件通过dump()写入的Python对象;

7、了解了pickle模块的基本用法后,继续向源代码中添加“使用pickle模块的dump()方法写入学生信息”的代码,然后按F5运行。如果调用dump()保存数据时出现错误,它会抛出pickle.PickleError异常;

[Python3] 使用pickle读写文件[TZZ]

8、再次进入“D:\test”目录,使用记事本打开新创建的“pickle2.dat”文件。这次,文件内容显示的是乱码(这就是二进制写入内容的特征)。表示一切正常;

[Python3] 使用pickle读写文件[TZZ]

9、继续向源代码中写入“使用pickle.load()方法读取pickle2.dat文件”的代码,然后点击F5运行。代码编写正确时,可以在Shell窗口中见到打印的学生信息。通过与定义的学生信息核对,可以确定读取无误;

[Python3] 使用pickle读写文件[TZZ]

10、通过pickle模块写入的二进制文件,只能采用pickle模块读取(这是该模块的限制)。为了与其他编程语言开发的程序通过文件交互,必须求助于struct模块。下一篇中,我再向大家介绍一下struct模块的用法。Enjoy!

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢