一,前言
今天看电视看到一句话,站在巨人的肩膀上加快了开发速度。突然我想到我写python小工具的时候,基本也进入了复制黏贴修改的状态。为什么呢!因为应用都是差不多的,基本就是读取文件,添加逻辑处理,输出这样的设计,而读取文件基本都是文本文件和hex文件为主。
二,需求
基于如上应用,我想到了一个优化需求,目的是为了加速我将来的开发,也就是将这些我自己开发的常用的代码再封装为库,代码设计为面向对象的方式(封装,继承,多态),便于将来开发,针对不同的应用,只要重写一部分逻辑即可。
三,小试牛刀
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)
输出结果
1
2
3
3
<intelhex.IntelHex object at 0x01A9ED70>
['1', '2', '3', '3']
四,小结
就等着将来有机会来使用我自己做的APPLE_LIB库了,然后不断优化。巨人的代码库就是这样积累优化出来的,哈哈~
网友评论