Python标准库之shelve模块(序列化与反序列化)

shelve模块是一个简单的key,value将内存数据通过文件持久化的模块,可以持久化任何picklel可支持的Python数据格式。

序列化

序列化源代码:

import shelve
import os

f = shelve.open("shelve_log")

d = {‘1‘:‘a‘,‘2‘:‘b‘}

def test():
	return os.system("calc")

f[‘dict‘] = d
f[‘func‘] = test
f.close()

  

运行后会在当前目录下生成后缀为bak、dat、dir文件。

打开后三份文件都是一样的,内容如下:

反序列化

反序列化读取:

import shelve
import os

f = shelve.open("shelve_log") 

d = {‘1‘:‘a‘,‘2‘:‘b‘} #这行不可少
def test():   #这行不可少
	return os.system("calc") #这行不可少

print(f.get(‘dict‘))
f.get(‘func‘)()

  

原文地址:https://www.cnblogs.com/endust/p/12311888.html

时间: 2024-10-19 06:43:54

Python标准库之shelve模块(序列化与反序列化)的相关文章

Python标准库之collections模块

本文后大家啊分享的主要是python 标准库的collections 模块,一起来看看吧,希望对大家 学习python有所帮助.. 这个模块提供几个非常有用的Python 容器类型 1.容器 2.OrderedDict OrderedDict  类似于正常的词典,只是它记住了元素插入的顺序,当迭代它时,返回它会根据插入的顺序返回. ·  和正常字典相比 , 它是 " 有序 " 的 ( 插入的顺序 ) . from collections import OrderedDict dict1

Python标准库之logging模块

很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为 debug().info().warning(). error() .critical() 5个级别. import logging logging.debug("debug message")logging.info("Input user/passwd&qu

Python标准库之os模块

1.删除和重命名文件 import os import string def replace(file, search_for, replace_with): # replace strings in a text file back = os.path.splitext(file)[0] + ".bak" (1) temp = os.path.splitext(file)[0] + ".tmp" try: # remove old temp file, if an

Python标准库系列之模块默认全局变量

当我们创建了一个自己写的模块后,那么这个模块本身就自带了好几个全局变量,这些全局变量在每个文件中都存在. 查看当前py文件的全局变量 [[email protected] ~]# echo 'print(vars())' > scripts.py       [[email protected] ~]# python scripts.py  {'__builtins__': <module '__builtin__' (built-in)>, '__name__': '__main__'

python标准库:datetime模块

原文地址:http://www.bugingcode.com/blog/python_datetime.html datatime 模块题共用一些处理日期,时间和时间间隔的函数.这个模块使用面向对象的交互取代了time模块中整形/元组类型的时间函数. 在这个模块中的所有类型都是新型类,能够从python中继承和扩展. 这个模块包含如下的类型: datetime代表了日期和一天的时间 date代表日期,在1到9999之间 time 代表时间和独立日期. timedelta 代表两个时间或者日期的间

python标准库之random模块

Python中的random模块用于生成随机数. 下面具体介绍random模块的功能: 1.random.random() #用于生成一个0到1的 随机浮点数:0<= n < 1.0 1 import random 2 a = random.random() 3 print (a) 2.random.uniform(a,b) #用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限.如果a > b,则生成的随机数n: a <= n <= b.如果 a <

Python标准库之sys模块

获取Python解释器的版本信息 import sys print(sys.version) #输出 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] 获取命令行参数 import sys print(sys.argv) #命令行模式 C:\Users\admin\PycharmProjects\module>python main.py admin passwd ['main.py', 'a

2. Python标准库urllib.request模块_2(python3)

参考学习地址:http://www.iplaypython.com # coding:utf-8 # 学习1 import urllib.request # print(dir(html)) # 获取网页所在的header信息 url="http://www.iplaypython.com/" html=urllib.request.urlopen(url) # 获取网站返回的状态码 code = html.getcode() print("返回的状态码: %s"

python标准库之sys模块 学习

通过这节学习来知道如何在linux下执行python代码 sys是system的缩写,用来获取操作系统和编译器的一些配置,设置及操作 我们要充分的理解他最好是在linux的环境下进行测试 sys.argv[0] ,返回的是代码所在文件的路径 [[email protected] ~]$ vi test.py [[email protected] ~]$ python3 test.py test.py [[email protected] ~]$ cat test.py import sys pr