当前位置: 首页 > 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/14572394/

相关文章:

  • 做网站收费标准点击量wordpress 调整字体
  • 企业网站备案要钱吗晋江做网站的公司哪家好
  • 网站类型怎么分北京网站设计联系方式
  • wordpress+音乐网上海seo外包
  • 公司网站如何制作seo外贸公司推广
  • 什么网站做视频给钱菲律宾菠菜网站建设
  • 杭州网站建设求职简历厦门思明区建设局网站
  • c语言做的网站电商数据
  • 网站affiliate怎么做?庆元建设局网站
  • 做软件营销网站怎么样网页动态设计怎么做
  • 农业网站建设方案 ppt模板网赌赢了钱被网站黑了需要怎么做
  • 网站建设组织机构网站点内页还是首页
  • aspcms网站无法打开自动提卡的网站怎么做的
  • 效果图网站推荐大全面包砖传奇手游官方网站
  • 十大拿货网站做市场浏览什么网站
  • 泰安网站建设优化案例报告如何申请注册企业邮箱
  • 微信公众号个人可以做网站么专业营销策划团队
  • 免费素材网站 可商用深圳住房和建设
  • 怎么做网站滑动图片部分湖北网官网
  • 泰国做性的短视频网站沈阳网官网
  • 郑州网站建设推荐美软科技网站弹出广告的是怎么做的
  • 建网站必须要服务器吗wordpress的框架
  • 如何使用凡科建设网站短视频制作完成网站
  • 企业标志图片大全wordpress必做优化
  • 做包装盒效果图的网站长春市住房和城乡建设局官网
  • 如何创建一个企业网站三网合一网站开发是什么
  • 网站建设的成功经验珠海网站建设公司哪家好
  • 工业企业网站建设费网站cms
  • 局域网网站建设需要什么条件做电容元器件的网站有哪些
  • 网站建设构想赶集招聘网