如何在Python中从子目录导入模块?

Susan Sarandon
发布: 2024-11-23 15:55:19
原创
716 人浏览过

How to Import Modules from Subdirectories in Python?

从子目录导入文件

导入外部模块是Python开发中的常见做法。但是,当模块驻留在子目录中时,导入它需要特定的方法。

问题陈述

假设您有一个名为 tester.py 的文件位于 /项目目录。该目录包含一个名为 lib 的子目录,其中包含一个名为 BoxTime.py 的文件。您的目标是将 BoxTime 导入 tester.py。

初始尝试和错误

您尝试使用以下代码导入 BoxTime:

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

但是,这导致了 ImportError,因为 Python 找不到名为的模块lib.BoxTime.

解决方案:实现包

要解决此问题,您需要将 lib 目录转换为 Python 包。这涉及到在 lib 目录中创建一个名为 __init__.py 的空文件。

/project
    /tester.py
    /lib/__init__.py
    /lib/BoxTime.py
登录后复制

这个 __init__.py 文件充当包初始值设定项,通知 Python 该目录是包含 Python 模块的包。

正确导入模块

一旦__init__.py文件就位后,您可以使用以下任一方法导入 BoxTime:

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

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

第二种方法将 BoxTime 分配给变量 BT,允许您访问其使用较短别名的函数。

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

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