python导入模块报错_Python 导入上层目录模块报错
背景:
當前demo.py?文件,所處目錄?D:\py\test\TestCase,需要調用test?目錄下的模塊,嘗試了?新建__init__.py?文件+ import test.模塊名的方法,無效.
報錯信息:
D:\py\test\TestCase>python demo.py
Traceback (most recent call last):
File "demo.py", line 24, in
from test.logger_base import logger
ImportError: No module named logger_base
解決方案:
要導入上級目錄,可以借助?sys.path,把上級目錄加到 sys.path 里。
sys.path 作用:當使用import語句導入模塊時,解釋器會搜索當前模塊所在目錄以及sys.path指定的路徑去找需要import的模塊。
添加前2行代碼,直接調用模塊即可:
1 importsys2 sys.path.append("..")3 from logger_base import logger
運行結果:
引申:如何導入下級目錄?
要在下級目錄中寫一個__init__.py文件?
參考命令行:
Windows?下查看當前目錄結構:
D:\py\test>tree # 不帶參數只顯示目錄,不顯示目錄下的文件
D:.
└───TestCase
查看目錄和文件:
D:\py\test>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\test\TestCase>python demo.py
Traceback (most recent call last):
File"demo.py", line 24, in
fromtest.logger_base import logger
ImportError: No module named logger_base
原文:https://www.cnblogs.com/ASAP/p/11092241.html
總結
以上是生活随笔為你收集整理的python导入模块报错_Python 导入上层目录模块报错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 报检人员备案所需哪些材料(报检人员备案)
- 下一篇: linux书(学习linux的书)