python基础4_3-Json与pickle、软件目录结构规范

1、Json与pickle

json数据序列化:

# Author: Mr.Xue
# 2019.10.24

import json

info = {
	'name': 'xue',
	'age': 23
}

with open("test.txt", 'w') as f:
	f.write(json.dumps(info))

json数据反序列化:

# Author: Mr.Xue
# 2019.10.24

import json

with open("test.txt", 'r') as f:
	data = json.loads(f.read())
	print(data["age"])	

pickle数据序列化:

# Author: Mr.Xue
# 2019.10.24

import pickle

def sayhi(name):
	print("hello, ", name)

info = {
	'name': 'xue',
	'age': 23,
	"func": sayhi
}

with open("test.txt", 'wb') as f:
	f.write(pickle.dumps(info)) # pickle.dump(info, f)

pickle数据反序列化:

# Author: Mr.Xue
# 2019.10.24

import pickle

def sayhi(name):
	print("hello2, ", name)

with open("test.txt", 'rb') as f:
	data = pickle.loads(f.read()) #data = pickle.load(f)
	print(data["func"]("Mr.Xue"))	

小结:

  1. json只能处理dic、list、str等简单的数据类型
  2. pickle能够处理函数这些复杂的类型

2、软件目录结构规范

我们设计一个层次清晰的目录结构,就是为了达到以下两点:

  1. 可读性高:不熟悉这个项目的代码的人,一眼就看懂目录结构,知道程序启动脚本是哪个,测试目录在哪里,配置文件在哪里等等。从而非常快速的了解这个项目。
  2. 可维护性高:定义好组织规则后,维护者就能够很明确的知道,新增的哪个文件和代码应该放在什么目录之下。这个好处是,随着时间的推移,代码/配置的规模增加,项目结构不会混乱,仍然能够组织良好。

下面有一个项目的目录结构供参考,
在这里插入图片描述
简单解释一下:

  1. bin/:存放项目的一些可执行文件,当然你可以起名script/之类的也可以。
  2. foo/:存放项目的所有源代码。(1)源代码中的所有模块、包都应该放在此目录。不要置于顶层目录;(2)其子目录test/存放单元测试代码;(3)程序的入口最好命名为main.py
  3. docs/:存放一些文档
  4. setup.py:安装、部署、打包的脚本
  5. requirements.txt:存放软件依赖的外部Python包列表
  6. README:项目说明文件

关于README的内容,它需要说明以下几个事项:

  • 软件定位,软件的基本功能
  • 运行代码的方法:安装环境、启动命令等
  • 简要的使用说明
  • 代码目录结构说明,更详细点可以说明软件的基本原理
  • 常见问题说明

可以参考Redis源码中Readme Readme的写法,这里面简洁但是清晰的描述了Redis功能和源码结构。

具体可参考:https://www.cnblogs.com/alex3714/articles/5765046.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值