代码之家  ›  专栏  ›  技术社区  ›  Taranjit Kang

Python模块导入3.7

  •  1
  • Taranjit Kang  · 技术社区  · 7 年前

    嘿,我有一个空的树结构 初始化

    使用python 3.7

    我的树如下所示:

        C:.
    ├───Tests
    │   ├───Checkout
    │   ├───GlobalFooter
    │   ├───GlobalHeader
    │   │   └───__pycache__
    │   ├───Home
    │   │   └───__pycache__
    │   ├───MyAccount
    │   ├───ProductDetail
    │   ├───ProductResults
    │   │   └───__pycache__
    │   └───SignIn
    └───Utilities
        └───__pycache__
    

    我尝试了以下方法:

    sys.path.insert(0, 'C:/Web2/TSC.WebFactory.Web2.Tests/Utilities')
    from Utilities.utils import addCookies, configureOptions
    
    2 回复  |  直到 7 年前
        1
  •  2
  •   ShadowRanger    7 年前

    如果您想通过包限定名访问整个模块树,则不应包括 Utilities sys.path from Utilities.utils import ... 假设某个文件夹在 具有名为的包/文件夹 ,其中包含名为 utils 或名为 utils.py 'C:/Web2/TSC.WebFactory.Web2.Tests/Utilities' 搜索路径 'C:/Web2/TSC.WebFactory.Web2.Tests/Utilities/Utilities/utils.py' (注2) 公用事业 ).

    这里的解决方案是从路径中删除最终目录:

    sys.path.insert(0, 'C:/Web2/TSC.WebFactory.Web2.Tests')
    

    现在 我要进去看看 C:\Web2\TSC.WebFactory.Web2.Tests 对于 Utilities\utils.py

    sys.path.insert(0, r'C:\Web2\TSC.WebFactory.Web2.Tests')
    
        2
  •  0
  •   Stubbs    7 年前

    如果尚未尝试过,请在执行sys.path.insert时执行此操作,您不必在导入行上指定文件夹。

    from utils import addCookies, configureOptions