工作中,經(jīng)常會用python來做一些數(shù)據(jù)的驗證工作,基本上都是在單個文件中跑,時間一長就會有一些類似工具類的調用,因此不如將他們放在一個單獨的模塊中去
說明
python中的模塊有點類似java中的包名或是c++的命名空間,引用格式如下:
import matplotlib.pyplot as plt
打開模塊目錄會發(fā)現(xiàn),matplotlib是文件夾,其目錄下有一個pyplot.py的文件
實現(xiàn)步驟
- 設置python的搜索路徑
- 編寫模塊代碼
- 在測試工程中引入使用
設置python的搜索路徑
查看路徑
進入命令行,輸入
import sys
sys.path
既可查看python的掃描目錄,找到其中類似包含site-packages的目錄,本機的對應目錄為:
/usr/local/lib/python2.7/site-packages/
添加目錄
如果自定義的模塊不想與Python 系統(tǒng)的模塊放在同一目錄下,可以通過.pth文件來指定搜索目錄,在上面目錄中增加一個路徑文件 user_sen_defined_modules.pth 。此文件內容就是我們自定義模塊的存放路徑。例子內容如下:
/Users/wangshengxing/code/python/modules
編寫模塊代碼
在上面的目錄中,增加工具類代碼 ,VectParser.py:
# -*- coding:utf-8 -*-
def parseVect2Str(vectStr):
lines= vectStr.split('\n')
oriPathX = []
oriPathY = []
for i in range(0,len(lines)):
line = lines[i].split(',')
if len(line)==2:
strX,strY = line
oriPathX.append(float(strX))
oriPathY.append(float(strY))
return oriPathX,oriPathY
在測試工程中引入使用
代碼如下:
import VectParser as vp
draw_str = '''-24.50428322260268,-102.94990820693783
-24.62928322260268,-103.26240820693783
-24.683339353781285,-103.38486994789643''
print vp.parseVect2Str(draw_str)
輸出:
([-24.50428322260268, -24.62928322260268, -24.683339353781285], [-102.94990820693783, -103.26240820693783, -103.38486994789643])
[Finished in 0.106s]