关于python:如何在一个级别上导入模块?

How do you import a module on one level higher?

为:

1
2
3
4
5
6
app/
__init__.py
abc.py
  mod/
  __init__.py
  def.py

如何从def.py导入abc.py?


要导入当前模块的父目录中的模块'abc.py':

1
2
3
4
import os
parentdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
os.sys.path.insert(0,parentdir)
import abc


如果要导入模块def,请说abc just do:

1
from ..abc import *

注意:由于def是一个python关键字,所以对模块使用这个名称听起来不是一个好主意。