存储:永久性保存对象

有时候,我们需要将某些字符串、列表、字典、元组等数据⻓久保存,现在,这个时候,就需要使⽤永久性存储的模块⽂件pickle。pickle模块可以将对象转换为⼀种可以存储或读取的格式。

pickle:该模块实现了数据的序列化与反序列化,通过pickle的序列化操作,可以实现将程序中的对象保存到⽂件信息中,实现永久性存储。通过pickle的反序列化操作,可以实现将程序中的永久性存储的对象解析出来在使用文件读取完后一定要把文件关闭了,如:f1.close()
# 存储list
#导入 pickle
import pickle
list1=[12,2,3]
f1=open('list.txt','wb')
# 将列表存入到文件中
# 语法格式:
# pickle.dump(存储的数据,目标文件)
pickle.dump(list1,f1)
f1.close()
# 建议:存储数据时,尽量不要使用系统能够打开的后缀名,
# 优点:防止用户随意打开,更改数据
# 从文件中读取列表
# 语法格式:
# pickle.load(存储的数据,目标文件)
f2=open("list.txt","rb")
list2=pickle.load(f2)
print(list2)

简写模式

好处:可以省略关闭文件这个操作,减少代码

#从文件中读取对象
with open("list.txt","rb") as f1:pickle.load(f1)
#将对象写如文件中
with open("list.txt","wb") as f2:pickle.dump(list1,f2)

编码/解码

编码:文件.encode(编码格式)

解码:文件.decode(编码格式)

常见编码格式  

  GB2312 是中国规定的汉字编码,也可以说是简体中文的字符集编码

  GBK      是 GB2312的扩展 ,除了兼容GB2312外,它还能显示繁体中文,还有日文的假名

  cp936   中文本地系统是Windows中的cmd,默认codepage是CP936,cp936就是指系统里第936号编码格式,即GB2312的编码。

       (当然有其它编码格式:cp950 繁体中文、cp932 日语、cp1250 中欧语言。。。)

  Unicode 是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。

  UTF-8 (8-bit Unicode Transformation Format)是最流行的一种对 Unicode 进行传播和存储的编码方式。它用不同的 bytes 来表示每一个代码点。

      ASCII 字符每个只需要用一个 byte ,与 ASCII 的编码是一样的。所以说 ASCII 是 UTF-8 的一个子集。

#编码
with open("file2.txt","wb") as f1:str1="123132djijdi外交诶"enstr=str1.encode("utf-8")print(enstr)f1.write(enstr)
#解码
with open("file2.txt","rb") as f2:str2=f2.read()destr=str2.decode("utf-8")print(destr)

转载于:https://www.cnblogs.com/dyd520/p/11252565.html

对象存储/编码/解码相关推荐

  1. Python request的content和text对象以及字符串和字节字符串(编码解码)的总结

    首先提一下request的两个对象:.content和.text 两者的区别是什么,究竟怎么用这两个对象? 首先来看个例子: import requests response = requests.g ...

  2. java io流学设置编码_Java学习日志(21-2-IO流-基本数据类型与字节数组对象与、编码解码)...

    操作基本数据类型的流对象DataStream /* 可以用于操作基本数据类型数据的流对象 */ import java.io.*; class DataStreamDemo{ public stati ...

  3. python email模块详解_python模块之email: 电子邮件编码解码 (一、解码邮件)-阿里云开发者社区...

    python自带的email模块是个很有意思的东西,它可以对邮件编码解码,用来处理邮件非常好用. 处理邮件是一个很细致的工作,尤其是解码邮件,因为它的格式变化太多了,下面先看看一个邮件的源文件: Re ...

  4. Java18-day09【字节缓冲流、字符流、编码表、字符串与字符流中的编码解码问题、字符流读写数据的方式、字符缓冲流、IO流小结】

    视频+资料(工程源码.笔记)[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] Java基础--学习笔记(零起点打开java ...

  5. Python3内置模块之json编码解码方法讲解

    简介 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,这些特性使JSON成为理 ...

  6. dart系列之:还在为编码解码而烦恼吗?用dart试试

    文章目录 简介 为JSON编码和解码 UTF-8编码和解码 总结 简介 在我们日常使用的数据格式中json应该是最为通用的一个.很多时候,我们需要把一个对象转换成为JSON的格式,也可以说需要把对象编 ...

  7. python3 json解析_Python3 JSON编码解码方法详解

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数 ...

  8. python模块之email: 电子邮件编码解码 (一、解码邮件)

    https://yq.aliyun.com/articles/54621 python模块之email: 电子邮件编码解码 (一.解码邮件) python自带的email模块是个很有意思的东西,它可以 ...

  9. python--字符/文本编码解码笔记

    字符/文本编码解码笔记 1.字符问题 编码和解码 2.字节概要 3.基本的编解码器 编码类型史 字符编码 ASCII码 GB2312以及其他编码 UNICODE标准编码 UTF-8编码 4.了解编解码 ...

最新文章

  1. Android性能系列-渲染篇
  2. mac php7 mysql.so_mac下安装php7详解
  3. JAVA_OA(八):springMVC对JDBC的操作小项目b
  4. CentOS6下ssh简介及openssh的应用
  5. 1001 Calculate a + b
  6. 成员变量和类变量的区别:
  7. [转贴]犯贱报(一张浓缩大学生活的..)
  8. Identity Server 4 - Hybrid Flow - 使用ABAC保护MVC客户端和API资源
  9. linux系统在虚拟机中迁移的技术难点
  10. LYNC文件传输功能开关
  11. Flutter GetX 状态管理 使用入门 程序计数器 (二)
  12. mysql qcow2_qcow2文件格式分析
  13. pytorch 创建神经网络
  14. mysql update修改数据_MYsql如何用update语句修改数据,值得一看
  15. 如何在Android中使用Intent拨打电话?
  16. maven配置smartupload_用jspsmartupload实现Jsp多文件上传下载,并解...
  17. QObject::connect: Cannot connect QTimer::timeout() to (null)::fuction()
  18. 更好的 java 重试框架 sisyphus 入门简介
  19. 【C++ 第五章 个人银行账户管理程序案例】
  20. oracle fnd_global,Oracle Report(Report 6i/RDF)使用全局变量fnd_global, fnd_frofile

热门文章

  1. python学习 01 变量
  2. Struts2.3+Spring4.0
  3. 雷鸣----总结下男人30岁之前要知道的事
  4. 把磁盘崩溃了,总是进去维护模式,却删除不了fstab文件中的内容
  5. 利用WCF的callback机制开发一个简单的多人游戏模型
  6. 【Keras】基于SegNet和U-Net的遥感图像语义分割
  7. QString::QString 中文乱码
  8. spring事务管理 TransactionProxyFactoryBean源码分析
  9. iOS---搜索功能
  10. [Linux] ubuntu 格式化u盘