zoukankan      html  css  js  c++  java
  • python导入模块

    1,python导入模块


    2,python导入包

    1,python导入模块

    python导入模块其实本质上是导入python文件,比如常见得import os ,sys这种导入。其实就是导入os.py这个python文件。那么python导入模块应该有2种方法(当然也有第三种方法的,比如在site-packages添加一个pth文件的)。在写导入python模块的2种方法之前,先简单说明一下。

    python import 导入模块,其实它默认会在sys.path这个列表中所有路径中去寻找你要导入的模块,如果没有,则会提示模块未定义。如下图:空的表示当前路径。

     第一种导入模块的方式(临时性的):

    从上面可以看到,python导入模块时,会去sys.path中寻找,所以,可以考虑往这个列表中追加一个元素即可,

    所以,sys.path.append('/root/library')追加一个元素。

     从上面可以发现,在sys.path中增加成功,不过等我退出Ipython时再次进入时,sys.path的时候,发现该路径又消失了。所以,可以看出这种方式的增加只是在当前终端失效,只能用于临时测试。

    第二种方法就是在使用PYTHONPATH的环境变量。编写一个PYTHONPATH的环境变量即可

     这样,我们把模块文件放在/root/library这个目录下,也是可以直接通过import 模块名的方式导入的。

    2,python导入包

    python导入包,包其实本质上就是1个目录,只是这个目录多一个__init__.py的文件,然后将你写的模块都放到这个包里面即可。

    如下的module是和主程序的目录同级别的。

    # #导入方法1
    
    import module.test
    module.test.hello()
    
    # #导入方法2
    from module import test
    from module import *
    test.hello()
    #
    # #导入方法3,导入指定的函数。
    from module.test import hello
    hello()
    
    #导入方法4,使用别名
    import module.test as m
    m.hello()
    

      

  • 相关阅读:
    POJ 1149 PIGS(Dinic最大流)
    HDU 4514 湫湫系列故事——设计风景线(并查集+树形DP)
    [kuangbin带你飞]专题十一 网络流个人题解(L题留坑)
    BZOJ 3931 网络吞吐量(最短路+拆点最大流)
    学习RMQ-ST表
    `这个符号在mysql中的作用
    用一条mysql语句插入多条数据
    Leetcode 257 Binary Tree Paths 二叉树 DFS
    Leetcode 203 Remove Linked List Elements 链表
    Leetcode 38 Count and Say 传说中的递推
  • 原文地址:https://www.cnblogs.com/lin1/p/8253630.html
Copyright © 2011-2022 走看看