Python中导入自定义模块的几种方法总结

当我们编写 Python 代码时,有时可能需要在一个脚本中引用另外一个脚本中的方法或变量,这时我们就需要将这些方法和变量封装进另一个 Python 模块中,然后再在我们需要使用它们的脚本中通过导入这个模块来使用其中的方法和变量。本文将详细讲解 Python 中导入自定义模块的几种方法。

相对导入:

相对导入是指从当前脚本所在的目录开始,按照包名称和目录结构逐层向上导入模块。如果当前脚本并不是在主模块所在的目录下,而是在子模块所在的目录下,则采用相对导入更为直观。

下面的示例演示了相对导入的使用方法:

在目录结构如下的情况下:

├── main_package/
│   ├── __init__.py
│   ├── main_script.py
│   ├── sub_package/
│   │   ├── __init__.py
│   │   ├── sub_script.py

我们需要在子模块 sub_script.py 中导入主模块 main_script.py 中的 test 方法:

from ..main_script import test

test()

绝对导入:

为了避免相对导入中可能会出现模块路径存在歧义的情况,Python3.3 及标准库中已经不再推荐使用相对导入,建议使用绝对导入。

下面的示例演示了绝对导入的使用方法:

在目录结构如下的情况下:

├── main_package/
│   ├── __init__.py
│   ├── main_script.py
│   ├── sub_package/
│   │   ├── __init__.py
│   │   ├── sub_script.py

我们需要在子模块 sub_script.py 中导入主模块 main_script.py 中的 test 方法:

from main_package.main_script import test

test()

添加路径:

有时我们编写的 Python 模块并不在同一目录下,我们需要手动将这个模块所在的目录添加到 Python 搜索路径之中,这个被添加的路径就可以在其他脚本中导入该模块。

下面的示例演示了添加路径的使用方法:

在目录结构如下的情况下:

├── module_package/
│   ├── __init__.py
│   ├── module_script.py
│
├── main_package/
│   ├── __init__.py
│   ├── main_script.py

我们需要在主模块 main_script.py 中导入 module_script.py 中的 test 方法:

import sys
import os

sys.path.append(os.path.join(os.path.dirname(__file__), "..", "module_package"))

from module_script import test

test()

通过在 sys.path 中添加模块 module_script.py 所在的目录的路径,我们可以在主模块中访问并导入该模块。

以上就是 Python 中导入自定义模块的几种方法总结。通过这些方法,我们可以在 Python 中方便地组织模块,使得我们的代码更加结构化、清晰。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中导入自定义模块的几种方法总结 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • Python如何生成xml文件

    在Python中,可以使用xml.etree.ElementTree模块来生成XML文件。以下是详细的攻略,介绍如何使用xml.etree.ElementTree模块生成XML文件: 创建XML元素 可以使用xml.etree.ElementTree模块创建XML元素。以下是一个示例,演示如何使用xml.etree.ElementTree模块创建XML元素:…

    python 2023年5月14日
    00
  • python3下载抖音视频的完整代码

    以下是关于“python3下载抖音视频的完整代码”的完整攻略: 什么是抖音视频 抖音是一款基于短视频分享的社交软件,视频时长一般在15秒左右,也有部分视频长度超过60秒。抖音视频涉及到视频特效、音乐、视频拍摄等多个方面,也受到了一定的用户追捧。 使用Python3下载抖音视频的完整代码 为了方便更多人下载抖音视频,我们可以编写Python3代码来实现批量下载…

    python 2023年6月3日
    00
  • Python中list的交、并、差集获取方法示例

    以下是详细讲解“Python中list的交、并、差集获取方法示例”的完整攻略。 交集 在Python中,可以使用set()函数将转换为集合,然后使用“&”运算符获取两个列表的交集。例如: list1 = [1, 2, 3, 4] list2 = [3, 4, 5,6] set1 = set(list1) set2 = set(list2) inter…

    python 2023年5月13日
    00
  • python挖矿算力测试程序详解

    Python挖矿算力测试程序详解 简介 本文章将介绍一个基于Python的挖矿算力测试程序,同时提供使用说明和示例,希望对各位挖矿爱好者能够有所帮助。 目录 什么是挖矿算力测试程序 挖矿程序工作原理 使用说明 示例说明 总结 什么是挖矿算力测试程序 挖矿算力测试程序是一种用于测试计算机的挖矿算力的程序。通常情况下,挖矿算力测试程序包含一些特定的算法,用于测试…

    python 2023年6月2日
    00
  • python为图片和PDF去水印详解

    Python为图片和PDF去水印详解 前言 在许多实际应用中,我们需要处理一些图片和PDF文件,并且这些文件可能包含着不必要的水印。因此,本文将介绍如何使用Python去除这些水印。 需要提醒的是,本文所介绍的所有方法仅用于学习和技术研究,务必遵守各种法律法规和伦理道德规范。 去除图片水印 1. 使用Pillow库 Pillow是Python中一个非常常用的…

    python 2023年6月3日
    00
  • Python反爬机制-验证码功能的具体实现过程

    Python反爬机制-验证码功能的具体实现过程 在本教程中,我们将介绍如何使用Python实现验证码功能,以应对反爬机制。我们将使用Python的Pillow库和pytesseract库来实现这个功能。以下是一个示例代码,演示如何使用Python实现验证码功能: import requests from PIL import Image import pyt…

    python 2023年5月15日
    00
  • 如何使用Python获取MySQL中表中的平均值和总和?

    要使用Python获取MySQL中表中的平均值和总和,可以使用Python的内置模块sqlite3或第三方库mysql-connector-python。以下是使用mysql-connector-python在MySQL中获取表中的平均值和总和完整攻略: 连接 要连接到MySQL,需要提供MySQL的主机、用户名、和密码。可以使用以下代码连接: mysql.…

    python 2023年5月12日
    00
  • Python提升Excel效率的5个方法!(实例演示)

    使用Python进行Excel自动化,可以有效地帮助我们提高工作效率和减少出错率。 本文将详细介绍使用Python操作Excel的5种提升工作效率的方法。具体有以下: 5种自动化操作Excel的方法 读取和写入Excel文件 使用Python中的第三方库(如openpyxl、xlrd、xlwt、xlutils等)可以读取和写入Excel文件。比如,我们可以读…

    2023年2月26日
    00
合作推广
合作推广
分享本页
返回顶部