鱼C论坛

 找回密码
 立即注册
查看: 2891|回复: 7

[知识点备忘] 第055讲:永久存储(下)

[复制链接]
发表于 2022-4-7 04:18:03 | 显示全部楼层 |阅读模式
购买主题 已有 25 人购买  本主题需向作者支付 5 鱼币 才能浏览
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-16 18:07:20 | 显示全部楼层
本节首先讲了with语句(上下文管理器),其为文件操作提供了一种更为优雅的操作方式,确保资源的释放,既省去了手动关闭文件的麻烦,还可避免程序出错时数据未能写入文件的悲哀。随后讲了pickle模块,其用于解决Python对象的永久存储问题,允许将字符串、列表、字典等Python对象序列化,保存为文件的形式。所谓序列化,就是将Python对象转换为二进制字节流的过程。pickle模块中的dump()函数可将Python对象写入扩展名为pkl的二进制文件,load()函数则用于读取二进制文件,将其还原为Python对象。因二进制文件无法被文本文件编辑器正常读取,这一过程有点类似于使用二进制对Python对象进行加密和解密,神奇又有趣!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 5 反对 0

使用道具 举报

发表于 2022-5-5 19:34:18 | 显示全部楼层
这是本节知识的一个案例(瞎改了网上的一段代码):
  1. from urllib import request
  2. import time

  3. message = '''Welcome WebRequest:
  4. 请输入网址,会自动开始采集网页代码
  5. 采集完成会在目录下自动生成一个text文件
  6. '''
  7. message1 = '''正在读取...'''
  8. message2 = '''读取完成!'''
  9. print(message)
  10. web = str(input('请输入要读取的网址:'))
  11. print(message1)
  12. start = time.time()
  13. response = request.urlopen(web)
  14. with open("RequestWeb.txt", 'w') as f:
  15.     f.write(str(response.read()))
  16. print(message2)
  17. stop  = time.time()
  18. print(f"本次一共耗费了 {(stop-start):.2f} 秒.")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-11-11 23:57:09 | 显示全部楼层
Learning...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-28 19:17:32 | 显示全部楼层
import pickle

x, y, z = 1, 2, 3
s = "FishC"
l = ["小甲鱼", 520, 3.14]
d = {"one": 1, "two": 2}

with open("data.pkl", "wb") as f:
    pickle.dump(x, f)
    pickle.dump(y, f)
    pickle.dump(z, f)
    pickle.dump(s, f)
    pickle.dump(l, f)
    pickle.dump(d, f)

with open("data.pkl","wb") as f:
    x,y,z,s,l,d = pickle.load(f)
    print(x,y,z,s,l,d,sep="\n")
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\1.py", line 17, in <module>
    x,y,z,s,l,d = pickle.load(f)
io.UnsupportedOperation: read
求救求救
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-15 19:34:20 | 显示全部楼层

问答题答案:



动动手答案:


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-7 08:34:30 | 显示全部楼层
打卡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-20 16:13:04 | 显示全部楼层
请问二进制文件怎么打开
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-12 18:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表