一个简单的实现简便 "列表字典" 数据存储本地。
适合不会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)