从python中的上一个路径中的文件导入

时间:2014-02-01 19:36:05

标签: python python-3.x import

我有这个文件结构:

.
   test/db_test.py
   models/user.py

我想在user.py中导入db_test.py,例如我尝试一下:

from ..models.user import User

但有这个错误:

SystemError: Parent module '' not loaded, cannot perform relative import

如何做到这一点?

  1. 所有路径都有__init__.py个文件
  2. 我不想在sys.path
  3. 中使用追加

    感谢您的回答

1 个答案:

答案 0 :(得分:1)

您是否尝试过将该脚本作为包运行?尝试从包含程序包根目录的目录中运行以下命令:

python -m your_package_name.test.db_test

我的测试结果是:

your_package_name/
    __init__.py
    test/
        __init__.py
        db_test.py
    models/
        __init__.py
        user.py

“db_test.py”包含的地方:

from ..models.user import User

所以我从“your_package_name”的父目录运行了该命令。