当前位置: 首页 > 面试题库 >

Python-从不同文件夹导入文件

王昆
2023-03-14
问题内容

我有以下文件夹结构。

application/app/folder/file.py

我想从位于另一个Python文件中的file.py导入一些功能

application/app2/some_folder/some_file.py

我试过了

from application.app.folder.file import func_name

和其他一些尝试,但到目前为止,我无法正确导入。我怎样才能做到这一点?


问题答案:

默认情况下,你不能这样做。导入文件时,Python仅搜索当前目录,入口点脚本运行sys.path所在的目录,并且包括诸如软件包安装目录之类的位置(实际上比这稍微复杂一点,但这涵盖了大多数情况) 。

但是,你可以在运行时添加到Python路径:

# some_file.py
import sys
# insert at 1, 0 is the script path (or '' in REPL)
sys.path.insert(1, '/path/to/application/app/folder')

import file


 类似资料:
  • 这就是我的项目的外观: 从文件中,我尝试使用以下方法导入文件类: 它曾经工作,但它只是随机停止,我不知道发生了什么,我试图理解使用堆栈溢出中的其他职位,我不能让它使用任何已经提出的解决方案。

  • 问题内容: 我经历了许多Python相对导入问题,但是我无法理解该问题/无法正常工作。 我的目录结构是: 当我尝试运行时: 我得到错误 问题答案: 之所以发生这种情况,是因为就Python而言,它们是独立的,无关的软件包。 在与该目录相同的目录中创建一个目录,一切都会按预期进行。

  • 同一位置有2个csv文件:1-candidates.csv,2-store.csv 当我在使用以下代码时导入candidates.csv filw时,它被导入: pandas._libs.parsers.textreader._convert_with_dtype()中的pandas_libs\parsers.pyx pandas._libs.parsers.textreader._string_

  • 问题内容: 我正在运行Python 2.5。 这是我的文件夹树: (我还在每个文件夹中,为便于阅读,在此省略) 如何nib从模块内部导入life模块?我希望无需修补就可以做到。 注意:正在运行的主模块在ptdraft文件夹中。 问题答案: 看来问题与该模块位于父目录或类似目录中无关。 你需要将包含的目录添加到PYTHONPATH 你说过与你合作,这可能意味着你已将自身(而非其父项)添加到PYTHO

  • 问题内容: 我将根据一个基于不同导入规则的教程,使用Python 3.5构建Flask应用。通过寻找类似的问题,我设法通过将文件夹添加到路径来解决从嵌套文件夹导入的ImportError,但是我仍然无法从同一文件夹(已经在路径中)的脚本中导入函数。文件夹结构是这样的: 在app.py中,我使用以下代码从config.py导入了一个函数: 但是我得到这个错误: 我不明白这是什么问题,因为这两个文件位

  • 问题内容: 我似乎无法让Python在子文件夹中导入模块。当我尝试从导入的模块创建类的实例时出现错误,但是导入本身成功。这是我的目录结构: 这是server.py的内容: 和user.py: 错误是:AttributeError:’模块’对象没有属性’用户’ 问题答案: 我相信您需要在Models目录中创建一个名为的文件,以便python将其视为模块。 然后,您可以执行以下操作: 您可以在其中添加