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中openpyxl模块基本用法

    当然,这里就为大家介绍一下”详解Python中openpyxl模块基本用法”的实例教程,希望对大家有所帮助。 1. openpyxl模块介绍 openpyxl是一个Python库,用于处理Excel文档。这个库允许您读取和写入Excel xlsx/xlsm/xltx/xltm文件,而且还支持公式、图表和一些其他高级特性。 2. 安装openpyxl模块 在命…

    python 2023年5月13日
    00
  • python基于turtle绘制几何图形

    下面我为大家详细讲解如何使用python基于turtle绘制几何图形的攻略。 准备工作 在开始绘制之前,我们需要安装turtle库。在终端输入以下命令即可安装: pip install turtle 安装完成后,可以输入以下代码测试库是否安装成功: import turtle t = turtle.Pen() t.forward(100) 如果窗口弹出并出现…

    python 2023年6月3日
    00
  • 如何在 Python 配置的 atom 中修复 linter-Flake8

    【问题标题】:How to Fix linter-Flake8 in atom for Python Configuration如何在 Python 配置的 atom 中修复 linter-Flake8 【发布时间】:2023-04-07 12:23:01 【问题描述】: 简介 在我将atom 安装到我的debian-ParrotOS 中用于编码python…

    Python开发 2023年4月8日
    00
  • python接口自动化使用requests库发送http请求

    以下是关于Python接口自动化使用requests库发送HTTP请求的攻略: Python接口自动化使用requests库发送HTTP请求 在Python接口自动化中,使用requests库发送HTTP请求是非常常见的操作。以下是Python接口自动化使用requests库发送HTTP请求的攻略。 发送GET请求 使用requests库发送GET请求非常简…

    python 2023年5月14日
    00
  • CentOS6.9 Python环境配置(python2.7、pip、virtualenv)

    下面是“CentOS6.9 Python环境配置(python2.7、pip、virtualenv)”的完整攻略。 安装Python2.7 CentOS6默认自带Python2.6,需要手动安装Python2.7版本以满足大部分应用的需求。 查看是否安装了必要的依赖包: yum install gcc-c++ zlib-devel openssl-devel…

    python 2023年6月3日
    00
  • Python调试神器之PySnooper的使用教程分享

    以下是“Python调试神器之PySnooper的使用教程分享”的完整攻略: Python调试神器之PySnooper的使用教程分享 1. 简介 PySnooper是一个Python调试器,它可以帮助我们快速定位和解决代码中的问题。PySnooper用简单易用的方式记录代码运行过程中的变量值和执行路径,帮助我们深入分析代码并定位错误。 2. 安装 使用pip…

    python 2023年5月14日
    00
  • python——全排列数的生成方式

    在Python中,可以使用多种方法生成全排列数。下面将介绍两种常用的方法。 方法一:使用itertools模块 itertools模块是Python标准库中的一个模块,提供了一些用于高效循环的函数。其中,permutations函数可以用于生成全排列数。以下是一个使用itertools模块生成全排列数的示例: # 使用itertools模块生成全排列数 im…

    python 2023年5月13日
    00
  • Python中print()函数的用法详情

    下面是Python中print()函数的详细用法攻略: 标题:Python中print()函数的用法详情 一、print()函数的作用 print()函数是Python内置函数之一,用于向控制台输出指定的文本、数据、变量等信息。可以说是编写Python程序中最常用的命令之一。 二、print()函数的基本用法 print(*objects, sep=’ ‘,…

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