首页 > 编程语言 >python之常用标准库-json/pickle/shelve

python之常用标准库-json/pickle/shelve

时间:2024-01-30 14:58:21浏览次数:29  
标签:python print json shelve test pickle

json,用于各个平台语言的字符串 和 python数据类型间进行转换

json的方法:dumps,loads,dump,load

pickle-用于python特有的类型(字符串,列表,字典,集合等) 和 python的数据类型间进行转换

pickle的方法:dumps,loads,dump,load,但是都是以二进制存储

shelve,是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式#添加的key为字符串

1.json

 1 #!/usr/bin/python
 2 import json,pickle
 3 '''
 4 json -用于字符串 和 python数据类型间进行转换
 5 json 的操作 dump /dumps load /loads
 6 pickle-用于python特有的类型 和 python的数据类型间进行转换
 7 pickle模块提供了四个功能:dumps、dump、loads、load
 8 '''
 9 test={"test_line1":"test_line1", "test_line2":"test_line2", "test_line3":"test_line3"}
10 x=json.dumps(test)
11 print(x)
12 print(json.loads(x))
13 #dumps 写入文件
14 with open('json_test','w',encoding='utf-8')as f:
15     f.write(json.dumps(test))
16 #
17 #
18 # # loads从文件读取
19 with open('json_test','r',encoding='utf-8') as f:
20     print(json.loads((f.read())))
21 
22 
23 
24 
25 #dump 写入文件
26 with open('json_test','w',encoding='utf-8')as f:
27     json.dump(test,f)
28 #
29 #
30 # # load 从文件读取
31 with open('json_test','r',encoding='utf-8') as f:
32     print(json.load((f)))
View Code

2.pickle

 1 #!/usr/bin/python
 2 import json,pickle
 3 test={"test_line1":"test_line1", "test_line2":"test_line2", "test_line3":"test_line3"}
 4 #dump
 5 x=pickle.dumps(test)
 6 print(x)
 7 print(pickle.loads(x))
 8 
 9 with open('json_test.pk','wb')as f:
10     pickle.dump('test',f)
11 
12 #
13 # # load
14 with open('json_test.pk','rb') as f:
15     print(pickle.load((f)))
View Code

3.shelve

注意:打开文件后需要关闭文件

 1 #!/usr/bin/python
 2 # -*- coding: utf-8 -*-
 3 import pickle,shelve
 4 
 5 #shelve 写
 6 shelve_test=shelve.open('shelve_test')  #打开文件
 7 name = 'test'          #存字符串
 8 list_test=[1,2,3,4,5]  #存列表
 9 dict_test={"test_line1":"test_line1", "test_line2":"test_line2", "test_line3":"test_line3"} #存字典
10 
11 shelve_test['name']=name
12 shelve_test['dict_test']=dict_test   #添加的key为字符串
13 shelve_test['list_test']=list_test
14 
15 
16 #shelve 读出来
17 print(shelve_test.get('name'))
18 print(shelve_test.get('list_test'))
19 print(shelve_test.get('dict_test'))
20 shelve_test.close()
View Code

 

标签:python,print,json,shelve,test,pickle
From: https://www.cnblogs.com/Little-Girl/p/17997086

相关文章

  • Python计算两图相似性-像素匹配(pixelmatch)
    1、简介GitHub:https://github.com/whtsky/pixelmatch-py 2、代码fromPILimportImagefrompixelmatch.contrib.PILimportpixelmatchimg_a=Image.open("WD1.png").resize((1920,1080))img_b=Image.open("WD2.png").resize((1920,1080))img......
  • Python导入torch包的方法
    原文链接:https://blog.csdn.net/weixin_57775672/article/details/128527024前言随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容中下载torch包遇见的一些问题和解决方法。一、Pythorch是什么?Pytorch是torch的pyt......
  • Python语言中=和==有什么区别?
    众所周知,Python是一门语法简洁优美,功能强大的编程语言,应用领域非常广泛,而且具有丰富的第三方库。这篇文章,小编为大家分享一个新的知识点:Python语言中=和==有什么区别?以下是详细的内容介绍。Python语言中=和==有什么区别?在Python中,=是赋值的意思,==是用于判断是否相等......
  • python操作mysql
    python操作mysql1.数据库连接池在操作数据库时需要使用数据库连接池。pip3.9installpymysql#安装pymysqlpip3.9installdbutils#安装dbutilsimportthreadingimportpymysqlfromdbutils.pooled_dbimportPooledDBMYSQL_DB_POOL=PooledDB(creator=pym......
  • 把git当作一个小型最终一致性的 json 数据库
    这几天写了一些有趣的代码:把git当作json数据库。做法是这样的:创建一个git仓库为每个最小粒度的数据创建一个独立的json文件({table}.json)客户端通过Python写git操作代码,实现几个数据库操作接口。数据库操作接口最小集:初始化:把git仓库拉下来(这个后面可以优化为只拉取指......
  • Python调用微信OCR识别文字和坐标
    python的ocr识别最方便的最准确的方法就是直接调微信的ocr注意:调用的时候先把微信关掉。importosimportjsonimporttimefromwechat_ocr.ocr_managerimportOcrManager,OCR_MAX_TASK_IDwechat_ocr_dir=r"C:\Users\mydell\AppData\Roaming\Tencent\WeChat\XPlugin\P......
  • Asp .Net Core 系列:Asp .Net Core 配置 System.Text.Json
     目录简介Asp.NetCore如何配置System.Text.Json所有配置全局配置对比Newtonsoft.Json无实体类型下操作Json自定义转换器处理Dynamic类型封装常用配置封装JsonHelper帮助类null 简介System.Text.Json命名空间提供用于序列化和反序列化Jav......
  • python虚拟环境venv
    使用venv(系统默认安装):创建一个新的虚拟环境:运行命令python-mvenvmyenv其中myenv是你的虚拟环境的名称。激活虚拟环境:会根据当前运行版本win/linux进行自动激活activate在激活的虚拟环境中安装所需的软件包:运行命令pipinstallpackage_name-ihttps://pypi.tuna.tsin......
  • python 获取本机IP
    python获取本机所有IP地址的方法原链接:https://pythonjishu.com/gygjrclwnkmhnlf/2023年5月23日下午12:35 • python获取本机所有IP地址的方法,可以通过Python标准库中的socket模块来实现。下面是完整攻略:1.使用socket模块先导入socket模块,然后创建一个sock......
  • python中with的用法
    一、文件操作#自行车f=open("filename")f.write()f.close()上述代码存在的问题:(1)直接open()打开需要手动关闭,并且容易忘记关闭(2)当文件操作出现异常导致程序提早离开,而没有执行关闭文件操作#小轿车try:f=open("xxx")f.write()#文件操作except:doso......