返回顶部
首页 > 资讯 > 后端开发 > Python >Pythonimport导入上级目录文件的方法
  • 803
分享到

Pythonimport导入上级目录文件的方法

Python 官方文档:入门教程 => 点击学习

摘要

目录1.导入同级模块2.导入下级模块3.导入上级模块4.导入隔壁文件夹下的模块5.常见错误及import原理假设有如下目录结构: -- dir0   | file1.py   | f

假设有如下目录结构:

-- dir0
  | file1.py
  | file2.py
  | dir3
   | file3.py
  | dir4
   | file4.py

dir0文件夹下有file1.py、file2.py两个文件和dir3、dir4两个子文件夹,dir3中有file3.py文件,dir4中有file4.py文件。

1.导入同级模块

python导入同级模块(在同一个文件夹中的py文件)直接导入即可。

import xxx

如在file1.py中想导入file2.py,注意无需加后缀".py":

import file2
# 使用file2中函数时需加上前缀"file2.",即:
# file2.fuction_name()

2.导入下级模块

导入下级目录模块也很容易,需在下级目录中新建一个空白的__init__.py文件再导入:

from dirname import xxx

如在file1.py中想导入dir3下的file3.py,首先要在dir3中新建一个空白的__init__.py文件。

-- dir0
  | file1.py
  | file2.py
  | dir3
   | __init__.py
   | file3.py
  | dir4
   | file4.py

再使用如下语句:

# plan A
from dir3 import file3

或是:

# plan B
import dir3.file3
# import dir3.file3 as df3

但使用第二种方式则下文需要一直带着路径dir3书写,较为累赘,建议可以另起一个别名。

3.导入上级模块

要导入上级目录下模块,可以使用sys.path:  

import sys 
sys.path.append("..") 
import xxx 

如在file4.py中想引入import上级目录下的file1.py:

import sys 
sys.path.append("..") 
import file1

sys.path的作用:当使用import语句导入模块时,解释器会搜索当前模块所在目录以及sys.path指定的路径去找需要import的模块,所以这里是直接把上级目录加到了sys.path里。

“..”的含义:等同于linux里的‘..’,表示当前工作目录的上级目录。实际上Python中的‘.’也和linux中一致,表示当前目录。

4.导入隔壁文件夹下的模块

如在file4.py中想引入import在dir3目录下的file3.py。

这其实是前面两个操作的组合,其思路本质上是将上级目录加到sys.path里,再按照对下级目录模块的方式导入。

同样需要被引文件夹也就是dir3下有空的__init__.py文件。

-- dir
  | file1.py
  | file2.py
  | dir3
   | __init__.py
   | file3.py
  | dir4
   | file4.py

同时也要将上级目录加到sys.path里:

import sys
sys.path.append("..")
from dir3 import file3

5.常见错误及import原理

在使用直接从上级目录引入模块的操作时:

from .. import xxx

经常会报错:

ValueError: attempted relative import beyond top-level package

这是由于相对导入时,文件夹实质上充当的是package,也就是包的角色(比如我们常用的numpy、pandas都是包)。如果python解释器没有认同该文件夹是package,那么这就是一个普通的文件夹,无法实现相对导入。

文件夹作为package需要满足如下两个条件:

  1. 文件夹中必须存在有__init__.py文件,可以为空。

    1. 不能作为顶层模块来执行该文件夹中的py文件。

到此这篇关于Python import导入上级目录文件的文章就介绍到这了,更多相关Python import导入上级目录内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Pythonimport导入上级目录文件的方法

本文链接: https://lsjlt.com/news/178090.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Pythonimport导入上级目录文件的方法
    目录1.导入同级模块2.导入下级模块3.导入上级模块4.导入隔壁文件夹下的模块5.常见错误及import原理假设有如下目录结构: -- dir0   | file1.py   | f...
    99+
    2023-01-18
    Python import导入上级目录 Python 导入上级目录 import导入上级目录文件
  • python怎么导入上级目录下的文件
    要导入上级目录下的文件,可以使用相对路径。假设你的文件结构如下:```- project- main.py- utils- help...
    99+
    2023-09-17
    python
  • 如何将Python的上级目录的文件导入?【from.import】
    这如何将Python的上级目录的文件导入?【from.import】 第一种最简单的方法第二个简单的办法第三种,相对引用四、首先将其上级目录添加到系统目录中 假如有如下目录: -pytho...
    99+
    2023-09-05
    python 开发语言
  • Python3 导入上级目录中的模块
    python导入同级别模块很方便: import xxx 要导入下级目录页挺方便,需要在下级目录中写一个__init__.py文件 from dirname import xxx 要导入上级目录,可以使用 sys.path 首先 sy...
    99+
    2023-01-31
    上级 模块 目录中
  • 从另一个目录导入文件
    Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《从另一个目录导入文件》带大家来了解一下##content_title##,希望对大家的...
    99+
    2024-04-04
  • mysql文件的导入方法
    本篇内容主要讲解“mysql文件的导入方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql文件的导入方法”吧!   &nb...
    99+
    2024-04-02
  • python如何引入同级目录下的文件
    可以使用相对路径来引入同级目录下的文件。假设有如下的目录结构:```- project- main.py- utils- helpe...
    99+
    2023-09-08
    python
  • Python -- 文件/目录 方法
    file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数:序号方法及描述1file.close()关闭文件。关闭后文件不能再进行读写操作。2file.flush()刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件,...
    99+
    2023-01-31
    文件 目录 方法
  • mysql导入sql文件的方法
    小编给大家分享一下mysql导入sql文件的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql导入sql文件的步骤:1...
    99+
    2024-04-02
  • mysql导入txt文件的方法
    小编给大家分享一下mysql导入txt文件的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!一、准备数据, 建立测试表1、准备好需要导入的txt文本文档,路径为:c:/data.txt。每一...
    99+
    2024-04-02
  • navicat导入dmp文件的方法
    这篇文章给大家分享的是有关navicat导入dmp文件的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。一、安装方法:1.首先下载Navicat Premium和Oracle ...
    99+
    2024-04-02
  • sqlyog导入sql文件的方法
    这篇文章主要讲解了“sqlyog导入sql文件的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“sqlyog导入sql文件的方法”吧! ...
    99+
    2024-04-02
  • navicat导入csv文件的方法
    小编给大家分享一下navicat导入csv文件的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!navicat如何导入csv文...
    99+
    2024-04-02
  • navicat导入sql文件和导出sql文件的方法
    这篇文章主要介绍navicat导入sql文件和导出sql文件的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!导出文件打开数据库,如图:右键数据库,弹出个列表框,如图:选择导出sq...
    99+
    2024-04-02
  • WordPress上传文件存放到不同目录的方法
    有时候将不同类型的文件分门别类存储,似乎比年月目录更有意义。例如幻灯片应该存储在slides目录下,下载文件应该存储在downloads文件夹下。就说幻灯片slideshow,我比较喜欢用自定义文章类型(Custom P...
    99+
    2022-06-12
    wordpress 上传目录 wordpress文件上传 wordpress上传附件
  • mysql导入备份文件的方法
    这篇文章主要介绍mysql导入备份文件的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!数据迁移、恢复,就要用到备份了。使用mysqldump导出来的基本都是sql数据句,可以直接...
    99+
    2024-04-02
  • 用phpmyadmin导入sql文件的方法
    小编给大家分享一下用phpmyadmin导入sql文件的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!打开phpMyadmi...
    99+
    2024-04-02
  • 将sql文件导入mysql的方法
    本篇内容主要讲解“将sql文件导入mysql的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“将sql文件导入mysql的方法”吧!第一步:打在开始界面中找到...
    99+
    2024-04-02
  • 将sql文件导入navicat的方法
    小编给大家分享一下将sql文件导入navicat的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!Navicat是应用比较多的mysql的视图管理工具。下面记录下Navicat如何导入sql...
    99+
    2024-04-02
  • Javascript中导入js文件的方法
    这篇文章主要介绍Javascript中导入js文件的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!为了避免在HTML中显示大量的代码,我们一般选择将js脚本单独放入一个文件中,然后再将js文件导入HTML中,这样...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作