zoukankan      html  css  js  c++  java
  • Python 导入上层目录模块

    背景:

    当前demo.py 文件,所处目录 D:py estTestCase,需要调用test 目录下的模块,尝试了 新建__init__.py 文件+ import test.模块名的方法,无效.

    报错信息:

    D:py	estTestCase>python demo.py
    Traceback (most recent call last):
    File "demo.py", line 24, in <module>
    from test.logger_base import logger
    ImportError: No module named logger_base

    解决方案:

    要导入上级目录,可以借助 sys.path,把上级目录加到 sys.path 里。

    sys.path 作用:当使用import语句导入模块时,解释器会搜索当前模块所在目录以及sys.path指定的路径去找需要import的模块。

    添加前2行代码,直接调用模块即可:

    1 import sys
    2 sys.path.append("..")
    3 from logger_base import logger

    运行结果:

    引申:如何导入下级目录?

    要在下级目录中写一个__init__.py文件?  

    参考命令行:

    Windows 下查看当前目录结构:

    D:py	est>tree          # 不带参数只显示目录,不显示目录下的文件
    D:. └───TestCase

     

    查看目录和文件:

    D:py	est>tree /F  # F 显示目录 +文件,递归显示
    
    D:.
    │ .gitignore
    │ base_utils.py
    │ base_utils.pyc
    │ compile.py
    │ drv_helper.py
    │ GPx_utils.py
    │ logger_base.py
    │ mapping.py
    │ OS_utils.py
    │ OS_utils.pyc
    │ p4apis.py
    │ README.md
    │ utils.py
    │ __init__.py
    │ __init__.pyc
    │
    └───TestCase
    base_testcase.py
    base_testcase.pyc
    CXXX_APPS_XXX.py
    demo.py
    __init__.py
    

      

     
    D:py	estTestCase>python demo.py
    Traceback (most recent call last):
    File "demo.py", line 24, in <module>
    from test.logger_base import logger
    ImportError: No module named logger_base
  • 相关阅读:
    Django搭建环境
    python切片
    python数据类型
    jquery 淡入淡出属性
    Jquery Tab切换
    jQuery Clone方法
    jQuery属性操作
    python 变量以及循环
    获取网站目录
    posting-jsonobject-with-httpclient-from-web-api
  • 原文地址:https://www.cnblogs.com/ASAP/p/11092241.html
Copyright © 2011-2022 走看看