首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用python从兄弟姐妹的子目录导入

如何使用python从兄弟姐妹的子目录导入
EN

Stack Overflow用户
提问于 2019-04-04 05:48:32
回答 1查看 46关注 0票数 0
代码语言:javascript
复制
- folder container
     - folder build
         - build.py

     - folder uni
         - folder build-server
             - RemoteInterface.py

问:如何从RemoteInterface导入build.py?由于文件夹"build“和"build-server”没有init.py

我试过-

代码语言:javascript
复制
from ..uni.build_server.RemoteInterface import RemoteInterface 

# - shows  attempted relative import beyond top-level package
代码语言:javascript
复制
from ..uni.build-server.RemoteInterface import RemoteInterface 

#- shows syntax error at build-server (for the hyphen)

在这些方面也显示了类似的错误:

代码语言:javascript
复制
from ...uni.build_server.RemoteInterface import RemoteInterface 


from ...uni.build-server.RemoteInterface import RemoteInterface 

期望RemoteInterface成功地从build.py导入

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-04 06:49:08

目录树:

代码语言:javascript
复制
.
├── build
│   └── build.py
└── uni
    ├── build-server
    │   └── RemoteInterface.py
    └── buildserver
        └── RemoteInterface.py
  1. uni/build-server/RemoteInterface.py
代码语言:javascript
复制
RemoteInterface = "build-server"
  1. uni/buildserver/RemoteInterface.py
代码语言:javascript
复制
RemoteInterface = "buildserver"
  1. build/build.py
代码语言:javascript
复制
from __future__ import absolute_import
import sys
from os import path
sys.path.append(path.dirname(path.dirname(path.abspath(__file__))))
from importlib import import_module
from uni.buildserver import RemoteInterface


import_module("uni.build-server.RemoteInterface")
_RemoteInterface = sys.modules["uni.build-server.RemoteInterface"]

print(RemoteInterface.RemoteInterface)
print(_RemoteInterface.RemoteInterface)
  1. 产出:
代码语言:javascript
复制
buildserver
build-server

备注:尽量不要出现在目录名-

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55508703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档