自定义 python 模块

2017-02-16  本文已影响47人  茶不思基

工作中,经常会用python来做一些数据的验证工作,基本上都是在单个文件中跑,时间一长就会有一些类似工具类的调用,因此不如将他们放在一个单独的模块中去

说明

python中的模块有点类似java中的包名或是c++的命名空间,引用格式如下:

import matplotlib.pyplot as plt

打开模块目录会发现,matplotlib是文件夹,其目录下有一个pyplot.py的文件

实现步骤

设置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]
上一篇下一篇

猜你喜欢

热点阅读