当前位置: 首页 > news >正文

南昌中企动力做的网站怎么样门户网站概念

南昌中企动力做的网站怎么样,门户网站概念,网站开发与运营方向和企业管理方向,开通一个微信小程序记录信息 比如说我写了这样一段程序#xff0c;记录了爱吃的食物#xff1a; food_list []while True:c input(输入1添加新的食物#xff0c;输入2查询已添加的食物#xff0c;输入exit退出#xff1a;)if c 1:new_food input(输入你…记录信息 比如说我写了这样一段程序记录了爱吃的食物 food_list []while True:c input(输入1添加新的食物输入2查询已添加的食物输入exit退出)if c 1:new_food input(输入你喜欢的食物)food_list.append(new_food)print(添加成功)elif c 2:for i in food_list:print(i, end )print()elif c exit:print(谢谢下次再见)break 但是很快就会发现这样一个问题当我们下次再运行程序的时候上次输入的内容全都没了怎么会这样呢 原理其实很简单在程序运行的时候我们存储的信息放入了python的列表之中这些信息是保存在内存之中的当程序运行结束这些信息就没了。 那么如果我希望将输入保存起来下次还能看到该怎么办呢这个时候就需要将要保存的内容存储到文件了。 json存储数据 json介绍 json全名JavaScript Object Notation是一种轻量级的数据交换格式最初基于JavaScript但是后来随着发展现在几乎被所有编程语言支持。 json数据非常适合人类阅读和编写也可以在网络应用中进行数据传输当然也可以作为数据存储。最常见的json数据类型包括object对象以及array数组。 json对象 {name: 仙草,age: 18,isStudent: false } json数组 [啃达鸡美食, 疯狂星期四, 可口可乐] 对于python中的数据类型来说列表会被保存为json数组而字典会被保存为json对象。 json写入文件 import json# 需要保存的数据 data [1, 2, 3, 4, 5]# 转为json数据 json_data json.dumps(data)# 写入文件 with open(record.json, w) as f:f.write(json_data) json文件读取 import jsonwith open(record.json, r) as f:json_data f.read()data json.loads(json_data) 为程序添加保存读取 import jsontry:with open(food_list.json, r) as file:food_list json.load(file) except FileNotFoundError:food_list []while True:c input(输入1添加新的食物输入2查询已添加的食物输入exit退出)if c 1:new_food input(输入你喜欢的食物)food_list.append(new_food)print(添加成功)with open(food_list.json, w) as file:file.write(json.dumps(food_list))elif c 2:for i in food_list:print(i, end )print()elif c exit:print(谢谢下次再见)break pickle序列化 pickle介绍 pickle可以对一个python对象进行二进制序列化以及反序列化比起json使用pickle的一个好处是pickle可以保存任意一个python对象例如类或者函数但是json则不能直接这样做。 注意pickle具有危险性因此不要加载你不信任的内容必须使用可信任的数据。 pickle写入文件 import pickledata [1, 2, 3, 4, 5]with open(data.pkl, wb) as f:pickle.dump(data, f) pickle文件读取 import picklewith open(data.pkl, rb) as f:loaded_data pickle.load(f)print(loaded_data) pickle具有安全风险 在python的官方文档上有这样一段重要提示“如果解序化的数据是由手段高明的攻击者精心设计的这种不受信任来源的pickle数据可以执行任意代码。” 很多人对此有一些困惑真的有这么严重吗答案是肯定的。假设有这样一段恶意代码 import pickle import osclass Example:def __reduce__(self):return (os.system, (echo 不能随便使用危险的代码,))malicious_data pickle.dumps(Example())with open(malicious.pkl, wb) as file:file.write(malicious_data) 此时 当代码重新被加载的时候就会执行恶意代码调用系统命令。 import picklewith open(malicious.pkl, rb) as file:data pickle.load(file) 安全使用pickle 一种安全使用自己生成的pickle的方法是使用hmac对序列化的数据进行签名下次使用的时候进行签名的认证以保证当初生成的pickle没有被他人篡改。下面是一种可能的实现 import pickle import hmac import hashlibsecret_key byour-secret-keydef save_signed_pickle(data, file_path, key):# 使用pickle序列化数据serialized_data pickle.dumps(data)# 生成签名signature hmac.new(key, serialized_data, hashlib.sha256).digest()# 将签名和序列化数据一起保存到文件with open(file_path, wb) as f:f.write(signature)f.write(serialized_data)def load_signed_pickle(file_path, key):# 从文件加载数据并验证签名with open(file_path, rb) as f:signature f.read(32) # 签名长度为32字节因此恰好可以读取到签名serialized_data f.read()# 重新计算签名并进行验证expected_signature hmac.new(key, serialized_data, hashlib.sha256).digest()if hmac.compare_digest(signature, expected_signature):# 签名匹配说明数据未被篡改可以安全反序列化return pickle.loads(serialized_data)else:# 签名不匹配数据可能已被篡改raise ValueError(Data integrity check failed!)
http://www.hkea.cn/news/14352327/

相关文章:

  • 不用js做网站阿里巴巴网站建设缺点
  • 上海做网站的公百度官方下载安装
  • 网站设计与实现毕业设计法人查询网
  • 网站开发语言在线检测.net网站开发软件
  • 扬州做公司网站的公司精品课程教学网站
  • 自己做网站推广费用大建网站的流程费用
  • 网站设计的含义discuz二次开发
  • 网站职能高平市网站建设公司
  • 公司网站建设请示建设银行网站在哪设置查询密码
  • 2021给个最新网站网站服务器租赁费用表格
  • 德州公司做网站山东济南网站建设公司哪家好
  • 软件开网站建设骗术ui培训学费一般多少
  • 网站开发工程师 面试英语阳狮做网站
  • 个人网站对应网站网址静安做网站公司
  • 白酒包装设计网站用php做的博客网站
  • 专门做特卖的网站是什么soho做网站要写品牌吗
  • 清河网站建设设计怎么弄自己的微信公众号
  • 做网站的论坛1微信网站怎么建设
  • 一个网站需要多少网页我想建立一个网站不知道怎么做啊
  • WordPress开网站很慢seo上首页排名
  • 医院网站建设最新报价慢慢来 网站建设
  • 调用别人网站注册表单北京建设部安全员证书查询网站
  • oppo官方网站建e网别墅客厅
  • 网站集约化建设的讲话wordpress 用户组
  • 临沂网站建设公司招聘dw做网站地图
  • 做网站设计工作的报告企业运营的五大系统
  • 官方网站建设流程wordpress评论
  • 购卡链接网站怎么做青岛海川建设集团网站
  • 瑞安做网站公司个人网页是什么意思
  • 网页设计作业可爱的家乡seo学院培训班