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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章