【问题标题】:how to import py file from different upper folder?如何从不同的上层文件夹导入py文件?
【发布时间】:2011-02-18 08:59:26
【问题描述】:

全部,

文件结构:

\
util
  utils.py
modules
  __init__.py
  modules1.py
  submodule
     __init__.py
     submodule.py

我想知道如何在那些中导入utils.py

__init__.py 

例如,现在我在\级别运行python解释器,我运行import modules,我想代码from ..util.utils import *可能有效,但事实并非如此。

我可以知道错误在哪里吗? 我可以知道是否有办法以通用格式导入 utils.py 吗? 像

import \util\utils.py

我知道我可以使用 path.append(),但还有其他选择吗?

谢谢

============

从这篇文章中得到了答案:

Import a module from a relative path

【问题讨论】:

  • 我似乎,但你能解释为什么 ValueError: Attempted relative import beyond toplevel package 在我的案例中发生吗?我认为 ..util.utils 可能会以第一直觉指向我想要的文件。

标签: python path import


【解决方案1】:

如果你正在开发一个 python package(你显然在做,因为你有 init.py),那么导入你的模块最简单的方法就是通过包。 例如,如果你的包名为mypackage,那么:

import mypackage.utils

【讨论】:

  • 谢谢,但如果我在 \ 文件夹上添加一个类似 C 的 main.py,它可能不是一个包而是一个应用程序。那么你的意思是我可以将所有代码打包到一个文件夹中,然后添加另一个 init.py 吗?并将涉及的 init 移到此文件夹之外?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-21
  • 1970-01-01
  • 2021-11-12
  • 1970-01-01
相关资源
最近更新 更多