zoukankan      html  css  js  c++  java
  • python 中import 的跨文件夹使用(转)

    转自:https://blog.csdn.net/xm_csdn/article/details/52211079

    python目前也像php一样越来越多的朋友使用它了,今天 小编在学习python时碰到不同层级引用的问题,希望可以帮助到大家。

    一、同级目录下的调用

    程序结构如下:

    -- src
        |-- mod1.py
        |-- test1.py

    若在程序test1.py中导入模块mod1, 则直接使用

    import mod1

    from mod1 import *;

    二、调用子目录下的模块

    程序结构如下:

    -- src
        |-- mod1.py
        |-- lib
        |    |-- mod2.py
        |-- test1.py

    这时看到test1.py和lib目录(即mod2.py的父级目录),如果想在程序test1.py中导入模块mod2.py ,可以在lib件夹中建立空文件__init__.py文件(也可以在该文件中自定义输出模块接口),然后使用:

    from lib import mod2

    import lib.mod2

    三、调用上级目录下的文件

    程序结构如下:

    -- src
        |-- mod1.py
        |-- lib
        |    |-- mod2.py
        |-- sub
        |    |-- test2.py

    这里想要实现test2.py调用mod1.py和mod2.py ,做法是我们先跳到src目录下面,直接可以调用mod1,然后在lib上当下建一个空文件__init__.py ,就可以像第二步调用子目录下的模块一样,通过from lib import mod2进行调用了。具体代码如下:

    import sys

    import os

    # 得到当前根目录

    o_path = os.getcwd() # 返回当前工作目录

    sys.path.append(o_path) # 添加自己指定的搜索路径
    import mod1
    from lib importmod2

  • 相关阅读:
    微信群之Java技术红包问答
    Java JPA 查询实体部分字段
    我的iphone6退货之路
    Simulated Annealing (模拟退火)
    ICML 2017 Reading (1): Combining Online and Offline Knowledge in UCT
    ICML 2017 Reading
    NIPS 2014
    Gumbel-Max trick, Perturb and MAP and more
    ICML 2014
    非常有趣的JavaScript游戏
  • 原文地址:https://www.cnblogs.com/Olimpic2008/p/12222010.html
Copyright © 2011-2022 走看看