首页 > 后端开发 > Python教程 > 如何在Python中从子目录导入文件?

如何在Python中从子目录导入文件?

Patricia Arquette
发布: 2024-11-26 17:08:15
原创
423 人浏览过

How to Import Files from Subdirectories in Python?

从子目录导入文件

从子目录导入文件可能是组织 Python 代码时的常见挑战。尝试访问子目录中的文件时可能会遇到导入错误。本文解决了该问题并提供了解决方案。

场景

考虑一个项目结构,其中名为 tester.py 的文件位于名为 /project 的目录中。 /project 目录中有一个名为 lib 的子目录,其中包含一个名为 BoxTime.py 的文件。目标是从 tester.py 导入 BoxTime。

尝试失败

尝试使用以下代码导入 BoxTime 会导致错误:

import lib.BoxTime
登录后复制
登录后复制

这将返回以下内容回溯:

Traceback (most recent call last):
  File "./tester.py", line 3, in <module>
    import lib.BoxTime
ImportError: No module named lib.BoxTime
登录后复制

解决方案

解决方案在于在 lib 子目录中创建一个名为 __init__.py 的特殊文件。该文件对于 Python 将 lib 识别为包至关重要,从而允许从子目录中导入文件。一旦 __init__.py 文件就位,可以使用以下语法导入 lib 子目录中的文件:

import lib.BoxTime
登录后复制
登录后复制

或者,为了避免将 BoxTime 引用为 lib.BoxTime,您可以使用以下语法:

import lib.BoxTime as BT
...
BT.bt_function()
登录后复制

通过在子目录中创建 __init__.py 文件,Python 将其识别为包,方便导入子目录中的模块。

以上是如何在Python中从子目录导入文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板