码迷,mamicode.com
首页 > 其他好文 > 详细

报错提示:ImportError: Start directory is not importable: 'D:\\PyCharm-Workspace\\testcases'

时间:2019-10-01 14:35:50      阅读:632      评论:0      收藏:0      [点我收藏+]

标签:not   ase   strong   char   inf   image   mamicode   directory   import   

技术图片

以下两种路径实现代码存放在path.py中,查看区别:

base_dir = os.path.dirname(os.getcwd())       # 第一种,当前目录
# os.getcwd() 定位路径为common
# os.path.dirname(os.getcwd()) 定位路径为API_work
base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))    # 第二种,该代码存放的根目录
# os.path.abspath(__file__) 定位路径为path.py
# os.path.dirname(os.path.abspath(__file__)) 定位路径为common
# os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 定位路径为API_work

 

 以上两种方式,在path.py中执行,print输出均为:

技术图片

 

 但第一种方式,在run.py中调用path.py中的base_dir属性,查找 "test_*.py" 的根目录就会出现下以报错:

技术图片

 

 原因

1、在run.py中调用path.py 中的 os.getcwd() 代码 ,就是定位 run.py 的根目录;

即:

      os.getcwd()   定位路径为API_work

      os.path.dirname(os.getcwd())   定位路径为API_work的上一层目录,因找不到上一层目录,所以报错;

2、在run.py中调用第二种方式,是查找path.py的根目录,所以可执行正常;

 

总结:

            其他模块会调用固定路径时,不要使用 os.getcwd() 当前定位方式来实现;使用 os.path.abspath(__file__) 实现。

报错提示:ImportError: Start directory is not importable: 'D:\\PyCharm-Workspace\\testcases'

标签:not   ase   strong   char   inf   image   mamicode   directory   import   

原文地址:https://www.cnblogs.com/miaokmm/p/11615058.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!