python中軟件開發規範,模塊,序列化隨筆

 

1.軟件開發規範

首先:python

當代碼都存放在一個py文件中時會致使json

1.不便於管理,修改,增長網絡

2.可讀性差函數

3.加載速度慢spa

劃分文件
1.啓動文件(啓動接口)--starts文件放bin文件裏
2.公共文件(你們須要的功能)---放lib文件夾裏
3.配置文件(靜態文件)變量--放conf文件夾裏
4.主邏輯(核心)---函數,類等等,src.py--放core文件夾裏
5.用戶相關數據--帳號密碼等文件 register--放db文件夾裏
6.日誌----記錄主要信息,記錄開發人員的行爲---logg.log--放log文件夾裏
高內聚----前面定義模塊名字,調用
regist = r"模塊地址"操作系統

 

2.序列化 json 和 pickle

json日誌

將數據類型轉換成字符串---序列化json.dumpsblog

將字符串轉換成原數據類型--反序列化json loads排序

能夠序列:字典,列表, (元組序列後變成列表)遞歸

 

dumps loads----用於網絡傳輸
dump load用於文件存儲
dumps loads------
dic = '{"key":1}'
import json
s = json.dumps(dic)
print(s,type(s))----轉成字符串
d = json.loads(s)
print(d,type(d))

list = [1,2,3,4]
import json
s = json.dumps(list)--序列
l = json.loads(s)反序列
print(l,type(l))
dump load-------
dic = {"key":1}
print(json.dump(dic,open("a","a",encoding="utf-8")))將源數據類型轉換成字符串,寫入到文件中
print(json.load(open("a","r",encoding="utf-8"))['key'])將文件中字符串轉成源數據類型

dic = {"key":1}
f = open("a","a",encoding="utf-8")
f.write(json.dumps(dic)+"\n")
f1 = open("a","r",encoding="utf-8")
for i in f1:
print(json.load(i),type(json.loads(i)))
dic = {"key":"寶元"}
print(json.dumps(dic,ensure_ascii=False))
print(json.dumps(dic,ensure_ascii=False,sort_keys=True))排序

 

pickle:

pickle---python有,幾乎能夠序列python中全部數據類型,匿名函數不能序列
import pickle
print(pickle.dumps((1,2,3,4,5)))

def func():
print(1)
a = pickle.dumps(func)將源數據類型轉換成相似字節的內容
print(pickle.loads(a))將相似字節的內容轉換成原數據類型

 

os文件夾,文件路徑

工做路徑:
import os---和操做系統作交互,給操做系統發指令
print(os.getcwd())---獲取當前文件工做路徑
os.chdir("絕對路徑")---路徑切換
print(os.getcwd)

文件夾
os.mkedir("名字")建立文件夾
os.rmdir("名字")刪除指定文件夾
os.makedirs('a/b/c')遞歸建立文件夾
os.removedirs('a1/a2/a3')遞歸刪除文件夾
print(os.listdir(r'絕對路徑'))查看當前文件夾下全部內容(列表顯示)

文件
os.remove(r"絕對路徑")刪除文件,完全刪除,找不到
os.rename()重命名
os.path.getsize(r"絕對路徑")獲取文件大小

路徑
os.path.abspath("相對路徑")返回的是絕對路徑***
os.path.split(r"絕對路徑") 將路徑分割成一個路徑和一個文件名
os.path.dirname(r"絕對路徑")獲取到父目錄***
os.path.basename(r"絕對路徑")獲取到路徑的名字
os.path.join("D:\Python","day12","test")路徑拼接****

判斷os.path.exists("blog")判斷路徑是否存在os.path.isabs(r"")無論存不存在,判斷絕對路徑是否存在os.path.isdir(r"")判斷是不是文件夾os.path.isfile(r"")判斷是否是文件

相關文章
相關標籤/搜索