如何在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中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Linux终端中查看Python版本时遇到权限问题的解决方法当你在Linux终端中尝试查看Python的版本时,输入python...

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

在使用Python的pandas库时,如何在两个结构不同的DataFrame之间进行整列复制是一个常见的问题。假设我们有两个Dat...

Uvicorn是如何持续监听HTTP请求的?Uvicorn是一个基于ASGI的轻量级Web服务器,其核心功能之一便是监听HTTP请求并进�...

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

攻克Investing.com的反爬虫策略许多人尝试爬取Investing.com(https://cn.investing.com/news/latest-news)的新闻数据时,常常�...
