zoukankan      html  css  js  c++  java
  • 报错提示:ImportError: Start directory is not importable: 'D:\PyCharm-Workspace\testcases'

    以下两种路径实现代码存放在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__) 实现。

  • 相关阅读:
    webpack指南(四)shimming
    webpack指南(三)缓存
    webpack指南(二)code spliting+懒加载
    webpack配置篇
    React组件setState
    React 生命周期
    React学习随笔
    @vue/cli 4.0+express 前后端分离实践
    @vue/cli 4.0.5 学习记录
    VMware Workstation 与 Device/Credential Guard 不兼容
  • 原文地址:https://www.cnblogs.com/miaokmm/p/11615058.html
Copyright © 2011-2022 走看看