博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据相关的模块
阅读量:6361 次
发布时间:2019-06-23

本文共 1125 字,大约阅读时间需要 3 分钟。

1.什么叫做序列化,反序列化?为什么要这样做?

把对象处理成方便传输的格式叫序列化。反之叫反序列化。为了数据的传输和存储

 

2.主要有哪几种序列化的方案?有什么区别?怎么用?

主要有pickle, shelve, json。pickle:把python中任意数据转成字符串的bytes,shelve: 把数据存储在硬盘,可以像字典一样操作,这个过程叫持久化,json: 实现前后端交互的语言,json全称javascript object notation。

pickle: dumps(), loads(),dump(c,f)--把c对象写到f文件句柄里,要close()。shelve: shelve.open(file,writeback=True),此时对字典的操作将写回硬盘,否则只在内存层面的修改,json: dumps(c,ensure_ascii=False),loads(), ensure_ascii=False指不限定用ascii码,可显示中文。

当使用dump()或者load()对文件操作时,json可写入多个json,但是读取只能读取一行内容。如果想读取全部内容,可先把多个json数据用一个列表存放,读取时候对列表循环拿到全部数据。

json虽然可跨语言,但是只能支持int\str\list\tuple\dict。

 

3. configparser模块在哪里运用?怎么拿到值?怎么用configparser模块做一个数据库的配置文件ini?

主要用于修改配置文档信息ini和测试环境,像字典一样拿值。‘DEAFAULT’里的值是下面的值共有的,如数据库需要转换IP时,更换方便

import configparser

config = configparser.ConfigParser()
config['DEFAULT'] = {
  "sleep": 1000,
  "session-time-out": 30,
  "user-alive": 999999
}  
config['TEST-DB'] = {
  "db_ip": "192.168.17.189",
  "port": "3306",
  "u_name": "root",
  "u_pwd": "123456"
}

config['168-DB'] = {

  "db_ip": "152.163.18.168",
  "port": "3306",
  "u_name": "root",
  "u_pwd": "123456"
}

 

转载于:https://www.cnblogs.com/jackfree/p/10064704.html

你可能感兴趣的文章
端口扫描 1
查看>>
os.path官方文档(附翻译)
查看>>
延迟添加队列
查看>>
javascript学习(1)——[基础回顾]变量、声明、数据类型、类型转换
查看>>
javascript学习(6)——[基础回顾]继承/聚合
查看>>
身份证号码的正则校验+升级版
查看>>
【C++ STL 优先队列priority_queue】
查看>>
js.面向对象
查看>>
第八次作业—— 缺陷管理(含缺陷管理工具的配置实验)
查看>>
15 个 Android 通用流行框架大全
查看>>
通过点击LI,显示对应的DIV并隐藏其他DIV
查看>>
FeiQ项目
查看>>
跟随我在oracle学习php(19)
查看>>
怎么在Ubuntu上替换ESC键
查看>>
Java定时任务Timer、TimerTask与ScheduledThreadPoolExecutor详解
查看>>
5.Appium 安卓自动化(UIAutomator)
查看>>
222
查看>>
cin 在 Ctrl+Z 或 Ctrl+D 后无法获取输入
查看>>
什么是反向代理?用Nginx如何实现简单反向代理?
查看>>
solaris中几个网络经典命令小结
查看>>