前言
一个简单的实现简便 "列表字典" 数据存储本地。
适合不会SQL但又想实现数据存储本地的同学。
操作使用都非常简单。
文件只做了简单的加密处理,如果需要复杂加密的同学可以修改加密函数。
温馨提示:
1.使用前,在项目目录下先建立一个myModule的模块,将下面myModule的代码复制到其中
2.在自己项目中添加语句 import myModule 导入模块
1.存储工具模块——myModule
#文件加密
#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):
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()
clock(road)
#读取函数
#road 文件路径
def read(road):
#解密
unclok(road)
#创建一个新数组
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(road)
return newList
2.测试使用——test.py
#导入模块
import myModule
#示例
#创建测试的存放列表
list01 = [{'name': 'XiaoMing', 'age': 13}, {'name': 'XiaoJun', 'age': 13}, {'name': 'XiaoHong', 'age': 13}]
#写入列表
myModule.write("text.txt",list01)
#获取列表
list01 = myModule.read("text.txt")
#打印列表
print("打印本地文件存储信息:")
print(list01)