一,前言
今天看電視看到一句話揪垄,站在巨人的肩膀上加快了開發(fā)速度穷吮。突然我想到我寫python小工具的時(shí)候,基本也進(jìn)入了復(fù)制黏貼修改的狀態(tài)饥努。為什么呢捡鱼!因?yàn)閼?yīng)用都是差不多的,基本就是讀取文件酷愧,添加邏輯處理驾诈,輸出這樣的設(shè)計(jì),而讀取文件基本都是文本文件和hex文件為主溶浴。
二乍迄,需求
基于如上應(yīng)用,我想到了一個(gè)優(yōu)化需求士败,目的是為了加速我將來(lái)的開發(fā)闯两,也就是將這些我自己開發(fā)的常用的代碼再封裝為庫(kù),代碼設(shè)計(jì)為面向?qū)ο蟮姆绞剑ǚ庋b谅将,繼承漾狼,多態(tài)),便于將來(lái)開發(fā)饥臂,針對(duì)不同的應(yīng)用逊躁,只要重寫一部分邏輯即可。
三隅熙,小試牛刀
import sys
import os
sys.path.append("..\src")
#sys.path.append(os.path.abspath(os.path.join(os.getcwd(),"..")) + "\\src")
from APPLE_LIB import rf
class myreadTXT(rf.readTXT):
def __init__(self, filePath, fileName):
# shall add these, otherwise can't add new data
rf.readTXT.__init__(self, filePath, fileName)
self.list =[]
# write for different application
def dosomething(self,str):
self.list.append(str)
# write for different application
def readend(self):
print(self.list)
if __name__ == '__main__':
# create object
testTXT = rf.readTXT("","3.csv")
# read file of this object
rf.run.read(testTXT)
testHEX = rf.readHEX("","4.hex")
rf.run.read(testHEX)
# create my object
testmyreadTXT = myreadTXT("","3.csv")
# read file of this object
rf.run.read(testmyreadTXT)
輸出結(jié)果
1
2
3
3
<intelhex.IntelHex object at 0x01A9ED70>
['1', '2', '3', '3']
四稽煤,小結(jié)
就等著將來(lái)有機(jī)會(huì)來(lái)使用我自己做的APPLE_LIB庫(kù)了,然后不斷優(yōu)化囚戚。巨人的代碼庫(kù)就是這樣積累優(yōu)化出來(lái)的酵熙,哈哈~