• python 学习备忘2—让自己的模块可用的三种方法


          这句代码sys.path .append('f:/python'),我们改变了sys.path,解释器在f:/python中查找模块,一般来说,我们可能不想这么做,在理想情况下,一开始sys.path本身就应该包括正确的目录,有两种方法可以做到这一点,下面,是我学习的过程:

          1、让你的模块可用:

      在目录C:\Python32\Lib\site-packages(如果安装目录在C盘)下,添加文件:another_hello.py,代码如下:

      

    1 #another_hello.py
    2   def hello():
    3     print("hello world 0")
    4 
    5   def test():
    6     hello()
    7 
    8   if __name__=='__main__':
    9     test()

     在python shell中,会生成another_hello.cpython-32.pyc文件

    import another_hello
    >>> another_hello .hello ()

    只要将模块放入类似site-packages这样的目录中,所有程序就能将其导入了。

    2、告诉编译器到哪里找?

      "将模块放置在正确的位置"这个解决方案对于以下几种情况可能不适用:

        不希望将自己的模块填满Python解释器的目录;

        没有在Python解释器目录中存储文件的权限;

        想将模块放在其他地方。

          想将模块放在其他地方,那么就要告诉解释器去哪里去找。你之前已经看到了一种方法,就是编辑目录sys.path,但这不是一种通用的方法。标准的实现方式是在PYTHONPATH环境变量中包含模块所在的目录。

       环境变量设置如下:PYTHONPATH =F:\pythonpath

    #hello5.py
    def hello():
        print("hello world ByPYTHONPATH")
    
    def test():
        hello()
    
    if __name__=='__main__':
        test()
    

      

     3、使用.pth来来实现

    在Python/Lib/site-package目录下创建一个MyModule.pth文件,其中内容为自定义的模块所在的路径

    Config代码  
         C:\Project  

     这样Project目录下的python文件就可以被找到了。

     

  • 相关阅读:
    用python实现批量替换.doc文件文件内容
    记我是如何通过Security+考试的
    去哪儿笔试羊生羊问题
    CSS作用域问题
    常用的几种清除浮动的方式
    ECE转专业找工作经历-从零电面到facebook offer
    面经-Bloomberg
    题解-Linked List Cycle II
    自我介绍
    解题技巧-发现子结构
  • 原文地址:https://www.cnblogs.com/yhql/p/2609859.html
Copyright © 2020-2023  润新知