(Python)列表字典数据本地存储工具

news2024/9/22 11:26:03

一个简单的实现简便 "列表字典" 数据存储本地。

适合不会SQL但又想实现数据存储本地的同学。

操作使用都非常简单。

文件只做了简单的加密处理,如果需要复杂加密的同学可以修改加密函数。

感兴趣并且动手能力强的同学,可以把它封装成工具类,方便使用。

#文件加密
#road 文件路径
def clock(road):
    dataStr =""
    # 打开文件
    f = open(road, 'r')
    #开始加密
    ch = True
    while ch:
        ch = f.read(1)
        if ch:
            s_str = chr(ord(ch) -1)
            dataStr = dataStr + s_str
    #关闭文件
    f.close()
    # 打开文件
    f = open(road, 'w')
    f.write(dataStr)
    f.close()

#文件解密
#road 文件路径
def unclok(road):
    # 文件加密
    def addKey(road):
        dataStr = ""
        # 打开文件
        f = open(road, 'r')
        # 开始加密
        ch = True
        while ch:
            ch = f.read(1)
            if ch:
                s_str = chr(ord(ch) + 1)
                dataStr = dataStr + s_str
        # 关闭文件
        f.close()
        # 打开文件
        f = open(road, 'w')
        f.write(dataStr)
        f.close()

#写入函数
#road 文件路径
#dataList 写入列表
def write(road,dataList):
    # 打开文件
    f = open(road, 'w')
    # 循环拿到每个字典
    for i in dataList:
        # 将每个原始字典转换为字符串
        # 并且添加换行符
        dataStr = str(i) + '\n'
        # 写入
        f.write(dataStr)
    # 关闭文件
    f.close()

#读取函数
#road 文件路径
def read(road):
    #解密
    unclok("text.txt")
    #创建一个新数组
    newList = []
    # 打开文件
    f = open(road, 'r')
    # 读取所有字符串
    # 返回列表
    dataList = f.readlines()
    # 将字符串切片
    for i in dataList:
        # 删除最后两位
        dataStr = i[0:-1]
        # 将字符串转化为字典
        dataDict = eval(dataStr)
        # 将转换后的字典存放在新列表中
        newList.append(dataDict)
    # 关闭
    f.close()
    #加密
    clock("text.txt")
    return newList

#示例
#创建测试的存放列表
list01 = [{'name': 'XiaoMing', 'age': 13}, {'name': 'XiaoJun', 'age': 13}, {'name': 'XiaoHong', 'age': 13}]

#向指定文件写入列表
write("text.txt",list01)

#向指定文件获取列表
list01 = read("text.txt")

#打印列表
print("打印本地文件存储信息:")
print(list01)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1431185.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux Centos stream9 mdadm

RAID(Redundant Array of Independent Disk独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁…

Fink CDC数据同步(二)MySQL数据同步

1 开启binlog日志 2 数据准备 use bigdata; drop table if exists user;CREATE TABLE user(id INTEGER NOT NULL AUTO_INCREMENT,name VARCHAR(20) NOT NULL DEFAULT ,birth VARCHAR(20) NOT NULL DEFAULT ,gender VARCHAR(10) NOT NULL DEFAULT ,PRIMARY KEY(id) ); ALTER TA…

vite打包原理

vite 工程化开发:打包工具 启动速度很快 核心原理还是webpack 把webpack封装了,把webpack对象封装了 和vue2整体结构几乎一致 webpack两种模式:开发&生产 代码打包编译,本地起一个web服务器实时预览编译后的结果 build 命令模…

Spark 开启动态资源分配

一 为什么要开启动态资源分配 ⽤户提交Spark应⽤到Yarn上时,可以通过spark-submit的num-executors参数显示地指定executor个数,随后, ApplicationMaster会为这些executor申请资源,每个executor作为⼀个Container在Yarn上运⾏。 S…

【数据结构】并查集(路径压缩)

文章目录 并查集1.朴素版本2.路径压缩3.按秩合并4.启发式合并5.练习题 并查集 1.朴素版本 1. 并查集解决的是连通块的问题,常见操作有,判断两个元素是否在同一个连通块当中,两个非同一连通块的元素合并到一个连通块当中。 并查集和堆的结构…

单臂路由实验(华为)

思科设备参考&#xff1a; 单臂路由实验&#xff08;思科&#xff09; 一&#xff0c;实验目的 在路由器的一个接口上通过配置子接口的方式&#xff0c;实现相互隔离的不同vlan之间互通。 ​ 二&#xff0c;设备配置 Switch1 <Huawei>sys [Huawei]vlan batch 10 20…

JUC并发工具类的应用场景详解

目录 常用并发同步工具类的真实应用场景 1. ReentrantLock 1.1 常用API 1.2 ReentrantLock使用 独占锁&#xff1a;模拟抢票场景 公平锁和非公平锁 可重入锁 结合Condition实现生产者消费者模式 1.3 应用场景总结 2. Semaphore 2.1 常用API 2.2 Semaphore使…

Http请求Cookie失效问题

Http请求Cookie失效问题记录 一、问题现象 在开发功能的过程中&#xff0c;业务依赖cookie进行取之&#xff0c;项目进行交互时会对前端http请求携带的cookies进行解析操作&#xff0c;但在自测调试对过程中出现账户的授权失效的报错问题。 二、问题排查 用arthas进行代码方…

Hadoop3.x基础(3)- Yarn

来源&#xff1a;B站尚硅谷 目录 Yarn资源调度器Yarn基础架构Yarn工作机制作业提交全过程Yarn调度器和调度算法先进先出调度器&#xff08;FIFO&#xff09;容量调度器&#xff08;Capacity Scheduler&#xff09;公平调度器&#xff08;Fair Scheduler&#xff09; Yarn常用命…

蓝桥杯每日一题-----数位dp

前言 今天浅谈一下数位dp的板子&#xff0c;我最初接触到数位dp的时候&#xff0c;感觉数位dp老难了&#xff0c;一直不敢写&#xff0c;最近重新看了一些数位dp&#xff0c;发现没有想象中那么难&#xff0c;把板子搞会了&#xff0c;变通也会变的灵活的多&#xff01; 引入…

png图片怎么转换成jpg?四个方法搞定不求人

在数字图像处理领域&#xff0c;PNG和JPG是两种常见的图片格式。PNG以无损压缩而闻名&#xff0c;适用于保存透明背景和保留图像细节&#xff1b;而JPG以有损压缩而著称&#xff0c;适用于在较小的文件大小下保持照片质量。有时候&#xff0c;您可能需要将PNG格式的图片转换为J…

QXlsx Qt操作excel

QXlsx 是一个用于处理Excel文件的开源C库。它允许你在你的C应用程序中读取和写入Microsoft Excel文件&#xff08;.xlsx格式&#xff09;。该库支持多种操作&#xff0c;包括创建新的工作簿、读取和写入单元格数据、格式化单元格、以及其他与Excel文件相关的功能。 支持跨平台…

【git指南】git 远程代码控制

文章目录 git 远程代码控制1 创建远程仓库2 创建SSH通道3 上传文件到github4 从 github 下载项目5 对链接github的本地项目pull/push git 远程代码控制 ​ 上面介绍了 git 在本地的使用&#xff0c;下面介绍结合 github 的 git 的远程控制。 1 创建远程仓库 打开 github.com …

【lesson9】高并发内存池Page Cache层释放内存的实现

文章目录 Page Cache层释放内存的流程Page Cache层释放内存的实现 Page Cache层释放内存的流程 如果central cache释放回一个span&#xff0c;则依次寻找span的前后page id的没有在使用的空闲span&#xff0c;看是否可以合并&#xff0c;如果合并继续向前寻找。这样就可以将切…

备战蓝桥杯---搜索(应用基础1)

话不多说&#xff0c;直接看题&#xff1a; 显然&#xff0c;我们直接用深搜&#xff0c;我们可以先把空位用结构体存&#xff0c;然后打表存小方块&#xff0c;再用数组存行列。 下面是AC代码&#xff1a; #include<bits/stdc.h> using namespace std; int a[12][12];…

【Springcloud篇】学习笔记六(十一、十二章):Config分布式配置中心、Bus消息总线

第十一章_Config分布式配置中心 1.Config分布式配置中心介绍 1.1分布式系统面临的配置问题 微服务意味着要将单体应用中的业务拆分成一个个子服务&#xff0c;每个服务的粒度相对较小&#xff0c;因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行&…

图论练习2

内容&#xff1a;路径计数DP&#xff0c;差分约束 最短路计数 题目大意 给一个个点条边的无向无权图&#xff0c;问从出发到其他每个点的最短路有多少条有自环和重边&#xff0c;对答案 解题思路 设边权为1&#xff0c;跑最短路 表示的路径数自环和重边不影…

Blender教程(基础)-面的切割-10

快捷键K切割&#xff0c;菜单选项切割. 一、随意切割 物体在编辑模式下&#xff0c;按键盘K建切割物体。 二、中点切割 先按K键&#xff0c;再按shift键&#xff0c;会自动吸附到每条边的中点进行切割。 三、取消吸附 切割时会自动吸附到顶点或边 关闭快速吸附 按K键再按…

山东淄博刑侦大队利用无人机抓获盗窃团伙

山东淄博刑侦大队利用无人机抓获盗窃团伙 近期&#xff0c;山东淄博临淄区发生多起盗窃案件。通过视频追踪和调查访问&#xff0c;推断临淄区某村可能为嫌疑人藏匿地点。刑侦大队无人机应急小组迅速到达现场&#xff0c;经无人机高空侦查&#xff0c;发现并锁定了嫌疑人的藏匿…

PHP入门指南:API

PHP入门指南&#xff1a;API 1. 简介2. API的基础概念2.1 什么是API&#xff1f;2.2 API的类型2.3 API的作用2.4 RESTful API2.5 API的基本构成元素 3. PHP与API的交互基础3.1 发送HTTP请求3.2 处理HTTP响应3.3 异常处理3.4 确保安全性 4. 如何在PHP中创建一个简单的API4.1 设计…