从 Python 中的子目录导入模块
本教程将讲解 Python 中从子目录导入模块的各种方法。假设我们在项目目录的子目录下有一个文件,我们想导入这个文件并在代码中使用它的方法。
我们可以在 Python 中通过将子目录声明为包来导入文件。这样 Python 就会把它当作一个包,我们就可以导入该目录的文件了。另一种选择可以是将子目录添加到 PYTHONPATH
环境变量中,它是 Python 默认寻找要导入的包的路径。下面给出了这些方法的细节和使用方法。
在 Python 中使用 __init__.py
从子目录中导入一个模块
__init__.py
文件用于将一个目录声明为一个包。__init__.py
文件可以防止 Python 将同名的目录混在一起,所以为了区分一个简单的目录和一个包,使用了 __init__.py
文件。
__init__.py
文件可以是空的,也可以有初始化包所需的代码和包所需导入的模块列表,这个列表由 __all__
变量表示。
一旦 __init__.py
文件被添加到子目录中,我们就可以从子目录中导入该文件,就像下面的示例代码所示。
import subdirectory.myfile
在 Python 中使用 sys.path.insert()
方法从子目录中导入一个模块
从子目录导入文件的另一种方法是将该目录添加到 PYTHONPATH
中。PYTHONPATH
是环境变量,它包含 Python 搜索以导入包的目录的路径。
因此,如果我们使用 sys.path.insert()
方法将子目录添加到 PYTHONPATH
中,Python 将首先查找 PYTHONPATH
中的目录,并从那里导入它。
sys.path.insert()
方法将把子目录插入到 sys.path
或 PYTHONPATH
变量中,该变量包含了 Python 将搜索导入所需模块的目录列表。
下面的示例代码演示了如何使用 sys.path.insert()
方法从子目录中导入一个文件。
import myfile
import sys
sys.path.insert(0, "./subdirectory")
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串