[英]How to import from a sibling's subdirectory using python
- folder container
- folder build
- build.py
- folder uni
- folder build-server
- RemoteInterface.py
问题:如何从build.py导入RemoteInterface? 鉴于文件夹“build”和“build-server”没有init .py
我试过了 -
from ..uni.build_server.RemoteInterface import RemoteInterface
# - shows attempted relative import beyond top-level package
from ..uni.build-server.RemoteInterface import RemoteInterface
#- shows syntax error at build-server (for the hyphen)
同样显示类似的错误:
from ...uni.build_server.RemoteInterface import RemoteInterface
from ...uni.build-server.RemoteInterface import RemoteInterface
期望从build.py成功导入RemoteInterface
目录树:
.
├── build
│ └── build.py
└── uni
├── build-server
│ └── RemoteInterface.py
└── buildserver
└── RemoteInterface.py
uni/build-server/RemoteInterface.py
RemoteInterface = "build-server"
uni/buildserver/RemoteInterface.py
RemoteInterface = "buildserver"
build/build.py
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)
buildserver
build-server
注意 :尽量不要出现在目录名称中-
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.