首页 > 其他分享 >OS模块和JSON模块

OS模块和JSON模块

时间:2023-12-20 21:55:54浏览次数:38  
标签:Python OS json JSON 模块 序列化 data

OS模块和JSON模块

【一】OS模块

【二】JSON模块

【1】序列化与反序列化

序列化和反序列化是计算机科学中数据处理中的两个过程,用于将数据从一种格式转换为另一种格式。这两个过程通常称为编码和解码。

序列化是将数据结构或对象转换为字节序列的过程,使得数据可以以一种易于传输和存储的方式进行传输或存储。序列化后的数据通常用于在网络上传输或存储数据,也可以用于在程序运行时进行持久化存储。

反序列化是将字节序列转换回数据结构或对象的过程,使得原始数据可以被重新使用。反序列化通常用于将数据从磁盘或其他存储介质中恢复到内存中,以便进一步处理或使用。

Python 提供了一种内置的序列化和反序列化格式,称为 JSON(JavaScript Object Notation)。JSON 是一种轻量级的数据交换格式,可以用于传输和存储数据,并且可以被大多数编程语言支持。Python 中的 json 模块提供了用于序列化和反序列化的函数,例如 json.dumps()json.loads()

序列化和反序列化的另一个常见格式是pickle,它是一种 Python 专用的二进制序列化格式。pickle 可以将 Python 对象序列化为字节序列,并可以将字节序列反序列化为 Python 对象。pickle 是一种非常灵活的序列化格式,可以处理许多类型的对象,例如类实例、函数、数据结构等。但是,pickle 仅适用于 Python,并且不适用于跨平台的数据交换。

【2】序列化与反序列化举例

import json

# 定义一个字典对象
data = {
    "name": "张三",
    "age": 30,
    "city": "北京"
}

# 将字典对象序列化为 JSON 字符串
json_data = json.dumps(data)
print("JSON 数据:", json_data)

# 将 JSON 字符串反序列化为 Python 字典对象
dict_data = json.loads(json_data)
print("反序列化后的字典对象:", dict_data)
输出结果:
JSON 数据: {"name": "张三", "age": 30, "city": "北京"}
反序列化后的字典对象: {'name': '张三', 'age': 30, 'city': '北京'}

【3】JSON保存数据

def save_data(path):
    with open(path,'w',encoding='utf-8') as fp:
        json.dump(path,fp,ensure_ascii=False)
#ensure_ascii=True,这意味着非ASCII字符将被编码为Unicode字符串
#ensure_ascii=False意味着在JSON字符串中包含非ASCII字符

【4】JSON读取数据

def read_data(path):
    with open(path,'r',encoding='utf-8') as fp:
        data=json.load(fp)
    return data

标签:Python,OS,json,JSON,模块,序列化,data
From: https://www.cnblogs.com/banchengyanyu/p/17917685.html

相关文章

  • 软件测试/测试开发|selenium NoSuchDriverException问题解决
    前言我们在使用selenium进行web自动化测试时,有时候会遇到NoSuchDriverException的问题,这个异常通常是由于WebDriver无法找到指定的浏览器驱动而引起的。在这篇文章中,我们将讨论NoSuchDriverException的原因以及如何解决这个问题。NoSuchDriverException是什么?NoSuchDriverException......
  • c# - 如何在自定义 System.Text.Json JsonConverter 中使用默认序列化?
    我正在写一个 custom System.Text.Json.JsonConverter 将旧数据模型升级到新版本。我已覆盖 Read()并实现了必要的后处理。但是,我根本不需要在 Write() 中做任何自定义操作。方法。如果我根本没有转换器,如何自动生成默认序列化?显然我可以使用不同的 JsonSerializerOption......
  • 从Newtonsoft.Json迁移到 System.Text.Json不简单
    一.写在前面#System.Text.Json是.NETCore3及以上版本内置的Json序列化组件,刚推出的时候经常看到踩各种坑的吐槽,现在经过几个版本的迭代优化,提升了易用性,修复了各种问题,是时候考虑使用System.Text.Json了。本文将从使用层面来进行对比。System.Text.Json在默认情况下十......
  • 腾讯QQ9正式发布!4年来最大更新 安卓/iOS/Windows都能下载了
    12月20日消息,今日,腾讯宣布,QQ9正式上线。距离上一次QQ8版本已经过去了4年。据官方介绍,本次版本更新,QQ9采用了全新的QQNT技术架构驱动,性能升级,交互体验更加流畅。全新界面,流畅社交。首先是UI界面全面优化,QQ启动页、登录页、消息列表页、关于页等页面UI焕彩上线。同时,聊天、设置......
  • ZFSoft KINGOSOFT SouthSoft 高校智慧校园教学综合服务平台
    KINGOSOFT高校智慧校园教学综合服务平台网址:www.kingosoft.com地址:湖南省长沙市三一大道526号旺德府恺悦国际大厦16层青果软件集团有限公司是一家高新技术企业、中国教育信息化理事会副理事长单位,创建于2000年03月28日,注册资金6000万元,员工300余人,总部设在湖南......
  • .net C# System.Text.Json 如何将 string类型的“true”转换为布尔值 解决方案
    直接上解决方法的代码先定义一个转换顺,代码如下:publicsealedclassAnhBoolConverter:JsonConverter<bool?>{publicoverridebool?Read(refUtf8JsonReaderreader,TypetypeToConvert,JsonSerializerOptionsoptions){varval......
  • Why the developed country choose the countries of southeast Asia to build proces
    ThedevelopedcountrieschoosecountriesinSoutheastAsiatobuildprocessingfactoriesandutilizetheirlaborforceforvariousreasons.Someofthekeyfactorsthatcontributetothisdecisionincludethelowcostoflabor,favorablegovernmentpolici......
  • 从零开始用 Axios 请求后端接口
    对于前端同学来说,请求后端接口是一个非常通用的东西。在十几年前的时候,我们还用Ajax去请求后端接口。但在2023年的今天,很多框架都很成熟了,我们有了更加快捷的方式——Axios框架。请求框架哪家强?对于使用Vue技术栈的同学来说,其实接口请求框架就三种:vue-resource、Axios......
  • cocoscreator使用总结
    1.背景图的大小超过父节点的大小,要使背景图不超过父节点,可以在父节点上增加一个mask组件2.layout组件可以设置垂直或水平布局,垂直时可以设从上到下或从下到上,水平布局可以设置从左向右,从右向左,可以方便用来设置文字在右下角之类的3.ScrollView的bar可以移除,view里面......
  • Apipost:一键生成接口文档
    你是否经常遇到接口开发过程中的各种问题?或许你曾为接口测试与调试的繁琐流程而烦恼。不要担心!今天我将向大家介绍一款功能强大、易于上手的接口测试工具——Apipost,并带你深入了解如何玩转它,轻松实现接口测试与调试。什么是Apipost?Apipost是一款API全生命周期管理平台,它提供了一系......