Rem*_*emi 47
作为" 从父目录导入Python "问题的字面答案:
导入当前模块的父目录中的"mymodule":
import os
parentdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
os.sys.path.insert(0,parentdir)
import mymodule
Run Code Online (Sandbox Code Playgroud)
编辑
不幸的是,__file__并不总是设置该属性.获取parentdir的更安全方法是通过inspect模块:
import inspect
currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
parentdir = os.path.dirname(currentdir)
Run Code Online (Sandbox Code Playgroud)
小智 25
您可以使用相对导入(例如来自链接,当前模块 - A.B.C):
from . import D # Imports A.B.D
from .. import E # Imports A.E
from ..F import G # Imports A.F.G
Run Code Online (Sandbox Code Playgroud)
Kei*_*ith 17
你真的应该使用包.然后将MainDir放在sys.path上的文件系统中的某个点(例如.../site-packages),然后你可以在ClassB中说:
from MainDir.Dir.DirA import ClassA # which is actually a module
Run Code Online (Sandbox Code Playgroud)
您只需放置__init__.py每个目录中命名的文件,使其成为包层次结构.
| 归档时间: |
|
| 查看次数: |
46131 次 |
| 最近记录: |