Python 从相对路径下import的方法

当我们从一个 Python 脚本文件中使用 import 语句导入模块时,我们需要指定模块路径。通常,我们会使用绝对路径或相对路径来指定需要导入的模块。在本文中,我们将重点讨论如何在 Python 代码中使用相对路径导入模块。

什么是相对路径?

相对路径是指相对于当前脚本文件的路径,可以是相对于当前目录的路径,也可以是相对于父目录的路径。在 Python 中,我们可以使用 . 表示当前文件所在的目录,使用 .. 表示父目录,用 ... 表示父目录的上一级目录,以此类推。

如何从相对路径导入模块?

首先,我们需要在 Python 代码中使用 sys.path.append() 来添加我们要导入的模块所在的路径。例如,如果我们要导入一个名为 helper.py 的模块,它位于当前脚本文件所在目录的 utils 子目录下,则我们可以在脚本文件的开头添加如下代码:

import sys
sys.path.append('./utils')

然后,我们就可以使用 import 语句导入模块,如下所示:

import helper

这样,Python 解释器就会在当前目录下的 utils 子目录中搜索名为 helper.py 的模块并将其导入到当前代码中。

示例说明1:从当前目录的子目录导入模块

假设我们有如下的目录结构:

├── main.py
└── utils
    ├── __init__.py
    └── helper.py

其中,main.py 是我们的主程序脚本文件,helper.py 是我们要导入的模块所在的子目录 utils 中的模块文件。为了能够从 main.py 中成功导入 helper.py,我们需要在 main.py 的开头添加如下代码:

import sys
sys.path.append('./utils')

然后,我们就可以使用 import 语句导入 helper.py

import helper

现在,我们就可以在 main.py 中使用 helper.py 中的函数、变量等资源了。

示例说明2:从父目录导入模块

现在,我们来看看如何从父目录导入模块。

假设我们有如下的目录结构:

├── app
│   ├── main.py
│   └── __init__.py
└── utils
    ├── __init__.py
    └── helper.py

其中,main.py 是我们的主程序脚本文件,helper.py 是我们要导入的模块所在的父目录 utils 中的模块文件。

为了能够从 main.py 中成功导入 helper.py,我们需要在 main.py 的开头添加如下代码:

import sys
sys.path.append('..\\utils')

然后,我们就可以使用 import 语句导入 helper.py

import helper

现在,我们就可以在 main.py 中使用 helper.py 中的函数、变量等资源了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 从相对路径下import的方法 - Python技术站

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

相关文章

  • python基础之匿名函数详解

    Python基础之匿名函数详解 匿名函数的概念 在Python中,匿名函数又称为lambda函数。匿名函数是一种没有名称的函数,它可以接受任意多个参数,但是只能有一个表达式作为函数体。匿名函数可以用于在函数内部定义简短的函数,通常用于临时需求场景。 匿名函数的语法 在Python中,定义匿名函数使用lambda关键字。 lambdafa lambda 参数列…

    python 2023年6月5日
    00
  • 解决pytorch 数据类型报错的问题

    以下是关于解决PyTorch数据类型报错的问题的完整攻略: 问题描述 在使用PyTorch进行深度学习模型训练时可能会遇到数据类型报错的问题。这个通常是由于数据类型不匹配而引起的。解决这个问题可以帮助正确地训练深度学习模型。 解决方法 使用以下步骤解决PyTorch数据类型报错的问题: 确认数据类型。 在使用PyTorch进行深度学习模型训时,需要确认数据的…

    python 2023年5月13日
    00
  • Python并行分布式框架Celery详解

    Python并行分布式框架Celery详解 Celery是一个Python编写的开源的并行分布式任务队列框架,可以用于开发高并发、处理大量数据并且需要异步处理的系统。它提供了一些强大的特性,比如任务调度、并行处理、周期性执行、定时任务和分布式任务等。本文将详细介绍Celery的使用,并提供两个示例来说明其应用。 安装Celery Celery的安装非常简单,…

    python 2023年5月30日
    00
  • Python常见数字运算操作实例小结

    下面是详细讲解“Python常见数字运算操作实例小结”的完整攻略。 Python常见数字运算操作 Python是一种强大的编程语言,提供了丰富的数字运算操作。下面介绍Python常见的数字运算操作。 加法、减法、乘法和除法 加法、减法、乘法和除法是Python中最基本的数字运算操作,可以使用加号、减号、乘号和除号来实现。 下面是一个Python实现加法、减法…

    python 2023年5月14日
    00
  • 为什么黑客都用python(123个黑客必备的Python工具)

    黑客使用Python的原因: Python是一种易于学习和使用的编程语言,具有简洁的语法和丰富的库,可以快速开发和测试黑客工具。 Python具有跨平台性,可以在Windows、Linux和Mac等操作系统上运行,方便黑客在不同的平台上使用。 Python具有强大的网络编程能力,可以轻松地进行网络扫描、端口扫描、漏洞扫描等操作。 Python具有丰富的第三方…

    python 2023年5月15日
    00
  • 如何使用Python实现数据库的连接池?

    以下是使用Python实现数据库连接池的完整攻略。 数据库连接池简介 数据库连接池是一种管理数据库连接的技术,它可以在应用程序和数据库之间建立一组预先创建的连接,以便在需要时快速获取连接。使用数据库连接池可以提应用程序的性能和可伸缩性,减少数据库连接的开销。 步骤1:安装必要的库 在使用Python实现连接池之前,需要安装pymysql和DBUtils库。可…

    python 2023年5月12日
    00
  • Python 面向对象编程详解

    Python面向对象编程详解 Python是一种面向对象的编程语言,它支持面向对象编程(OOP)的所有特性,包括封装、继承和多态。本文将详细讲解Python面向对象编程的概念、法和示例。 面向对象编程的概念 面向对象编程是一种编程范式,它将数据和操作数据的方法组在一起,形成对象。对象可以看作是一个实,具有属性和方法。面向对象编程的核心思想是将程序看作是一组对…

    python 2023年5月13日
    00
  • python TK库简单应用(实时显示子进程输出)

    下面就来详细讲解一下“Python TK库简单应用(实时显示子进程输出)”的攻略。 什么是Python TK库 Python TK库是一个用于创建图形用户界面(GUI)的Python标准库,可以让用户通过可视化的方式与程序交互。它包括多个小部件(widgets),如按钮、标签、文本框等等,用户可以通过使用这些小部件来构建GUI界面。 如何安装Python T…

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