自定义 python 模块
2017-02-16 本文已影响47人
茶不思基
工作中,经常会用python来做一些数据的验证工作,基本上都是在单个文件中跑,时间一长就会有一些类似工具类的调用,因此不如将他们放在一个单独的模块中去
说明
python中的模块有点类似java中的包名或是c++的命名空间,引用格式如下:
import matplotlib.pyplot as plt
打开模块目录会发现,matplotlib是文件夹,其目录下有一个pyplot.py的文件
实现步骤
- 设置python的搜索路径
- 编写模块代码
- 在测试工程中引入使用
设置python的搜索路径
查看路径
进入命令行,输入
import sys
sys.path
既可查看python的扫描目录,找到其中类似包含site-packages的目录,本机的对应目录为:
/usr/local/lib/python2.7/site-packages/
添加目录
如果自定义的模块不想与Python 系统的模块放在同一目录下,可以通过.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]