美文网首页
自定义 python 模块

自定义 python 模块

作者: 茶不思基 | 来源:发表于2017-02-16 23:21 被阅读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]
    

    相关文章

      网友评论

          本文标题:自定义 python 模块

          本文链接:https://www.haomeiwen.com/subject/offkwttx.html