Python import导入上级目录文件的方法

当我们在Python中使用import语句导入模块或者包时,通常会将它们放在同一个文件夹中,但有时候我们需要在当前文件夹之外的上级目录下导入模块或包。本文将详细讲解如何在Python中import导入上级目录文件的方法。

方法一:使用sys.path.append()

第一种方法是使用sys.path.append()来向Python解释器的搜索路径中添加上级目录。这种方法比较简单,但是每次启动Python解释器时都需要手动添加搜索路径,比较繁琐。

  1. 打开要导入模块或包的Python脚本,在脚本中添加以下代码:
import sys
sys.path.append("..")
from 上级目录文件夹 import 模块名或包名
  1. 把“..”替换成当前文件所在的上级目录,如果要导入的文件夹在上级目录下,则需要写成“../文件夹名”。

下面是一个示例代码,假设我们现在需要在C:\Project\test\subdir\subdir2\example.py中导入C:\Project\common\helpers.py中的helpers模块:

import sys
sys.path.append("../..")
from common import helpers

helpers.say_hello()

方法二:使用__init__.py文件

第二种方法是使用__init__.py文件来将上级目录转变成包。在上级目录的文件夹中,创建一个名为__init__.py的空文件,然后就可以直接导入上级目录下的模块或包了。

  1. 打开要导入模块或包的Python脚本,在脚本中添加以下代码:
from 上级目录文件夹.模块名或包名 import 方法名或模块名
  1. 在上级目录的文件夹中创建一个__init__.py的空文件。

下面是一个示例代码,假设我们现在需要在C:\Project\test\subdir\subdir2\example.py中导入C:\Project\common\helpers.py中的helpers模块:

from common.helpers import say_hello

say_hello()

注意:在Python 3.3之前版本中需要在__init__.py文件中添加from __future__ import absolute_import语句,否则可能会导致导入错误。

在以上两种方法中,方法二相对来说比较简单,也比较方便,在大多数情况下都可以解决导入上级目录的问题。而方法一则适用于更加复杂的环境,其中sys.path.append()方法不仅可以添加上级目录,还可以添加任意目录到Python解释器的搜索路径中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python import导入上级目录文件的方法 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • python的set处理二维数组转一维数组的方法示例

    Python的set处理二维数组转一维数组的方法示例 在Python中,可以使用set()函数将二维数组转换为一维数组。本文将详细讲解如何使用set()函数处理二维数组转一维数组,并提供两个示例说明。 1. 使用set()函数处理二维数组转一维数组 在Python中,可以使用以下方法将二维数组转换为一维数组: 使用set()函数将二维数组转换为集合 使用li…

    python 2023年5月14日
    00
  • Pytorch实现LSTM案例总结学习

    Pytorch实现LSTM案例总结学习 前言 作为深度学习领域的重要分支,循环神经网络(RNN)和长短时记忆网络(LSTM)在很多任务中都有着广泛的应用。本文以Pytorch框架为例,介绍了如何使用Python编写LSTM神经网络模型,并将其应用于时间序列预测和自然语言生成等案例中。读者可根据自己的需求和兴趣,针对具体的数据集和任务进行模型的调试和优化。 L…

    python 2023年5月14日
    00
  • numpy 返回函数的上三角矩阵实例

    在Numpy中,可以使用triu函数来返回一个矩阵的上三角矩阵。本文将详细介绍如何使用triu函数,并提供两个示例来说明它的用法。 triu函数语法 triu函数的语法如下: numpy.triu(m, k=0) 其中,参数m是要进行操作的矩阵,参数k是指定对角线的偏移量。当k=0时,表示对角线上元素也包含在上三角矩阵中;当k>0时表示对角线上方k个元…

    python 2023年5月14日
    00
  • 详述numpy中的np.random.random()系列函数用法

    以下是关于Numpy中的np.random.random()系列函数用法的攻略: Numpy中的np.random.random()系列函数 在Numpy中,使用np.random.random系列函数来生成随机数。以下是一些实现方法: np.random.random() np.random.random()函数可以生成[0.0, 1.)之间的随机浮点数。…

    python 2023年5月14日
    00
  • pandas系列之DataFrame 行列数据筛选实例

    pandas系列之DataFrame行列数据筛选实例 Dataframe是pandas中极为重要的数据结构之一,其由行和列构成,类似于电子表格或SQL表。本文将对DataFrame中的行列数据筛选操作进行详细讲解,包括loc、iloc、ix、以及Boolean indexing等方法。 loc方法 loc是pandas中的一种基于标签的索引方法,用于获取指定…

    python 2023年5月13日
    00
  • Python报mongod: error while loading shared libraries: libcrypto.so.1.1解决

    在Linux系统中,如果在运行Python程序时出现“mongod: error while loading shared libraries: libcrypto.so.1.1”的错误,这通常是由于缺少libcrypto.so.1.1库文件引起的。以下是一个完整的攻略,包含两个示例说明。 示例1:使用apt-get安装libssl-dev 在Linux系统…

    python 2023年5月14日
    00
  • python pandas库中DataFrame对行和列的操作实例讲解

    下面是关于“Python pandas库中DataFrame对行和列的操作实例讲解”的攻略: 一、DataFrame概述 DataFrame是pandas库中最重要的数据结构之一。它类似于表格形式的数据结构,由若干行与列组成。类似于Excel表格。其中每一列的数据类型必须相同,行列索引都可以自定义。 二、DataFrame的创建 DataFrame的创建可以…

    python 2023年5月14日
    00
  • python之cv2与图像的载入、显示和保存实例

    以下是关于“python之cv2与图像的载入、显示和保存实例”的完整攻略。 背景 在Python中,cv2是一个常用的图像处理库,可以用于图像的载入、显示和保存。本攻略将详细介绍cv2库的使用方法。 载入图像 使用cv2库载入图像非常简单,只使用cv2.imread函数即可。以下是载入图像的示例代码: import cv2 # 载入图像 img = cv2.…

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