【问题标题】:How do I import a file that is in another directory?如何导入另一个目录中的文件?
【发布时间】:2019-12-09 21:51:57
【问题描述】:
-Booking
    -components
        -db.py
    -scripts
        -insert_data.py

如何在 insert_data.py 中导入 db.py? (我使用的是 python 3)

【问题讨论】:

  • 您当前的工作目录在哪里?您想将脚本导入到哪里?
  • components 需要一个__init__.py

标签: python python-3.x file


【解决方案1】:

from components import db

只要components 中有一个(可能为空的)__init__.py 就应该可以工作

【讨论】:

    【解决方案2】:
    1. __init__.py 放入components 文件夹中
    2. 使用from ..components import dbscripts文件夹访问它

    【讨论】:

      【解决方案3】:

      有几个选项,它有助于了解 Python 的模块和包的工作方式(这并不总是完全直接和直观的):

      一种方法是在脚本开头显式修改模块搜索路径:

      import sys, os
      sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'components'))
      import db
      

      Importing from a relative path in PythonExecution of Python code with -m option or not 中所述,使用相对导入 的方式较少。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-04
        • 2017-09-12
        • 2021-08-17
        • 1970-01-01
        • 2014-05-22
        • 2023-01-25
        • 2013-10-16
        • 2021-09-23
        相关资源
        最近更新 更多