Python中import导入上一级目录模块及循环import问题的解决

使用python进行程序编写时,经常会使用第三方模块包。这种包我们可以通过python setup install 进行安装后,通过import XXX或from XXX import yyy 进行导入。不过如果是自己遍写的依赖包,又不想安装到python的相应目录,可以放到本目录里进行import进行调用;为了更清晰的理清程序之间的关系,例如我们会把这种包放到lib目录再调用。本篇就针对常见的模块调用方法汇总下。

一、同级目录下的调有

程序结构如下:

-- src
    |-- mod1.py
    |-- test1.py

若在程序test1.py中导入模块mod1, 则直接使用

import mod1

from mod1 import *;

二、调用子目录下的模块

程序结构如下:

-- src
    |-- mod1.py
    |-- lib
    |    |-- mod2.py
    |-- test1.py

这时看到test1.py和lib目录(即mod2.py的父级目录),如果想在程序test1.py中导入模块mod2.py ,可以在lib件夹中建立空文件__init__.py文件(也可以在该文件中自定义输出模块接口),然后使用:

from lib.mod2 import *

import lib.mod2.

三、调用上级目录下的文件

程序结构如下:

-- src
    |-- mod1.py
    |-- lib
    |    |-- mod2.py
    |-- sub
    |    |-- test2.py

这里想要实现test2.py调用mod1.py和mod2.py ,做法是我们先跳到src目录下面,直接可以调用mod1,然后在lib上当下建一个空文件__init__.py ,就可以像第二步调用子目录下的模块一样,通过import  lib.mod2进行调用了。具体代码如下:

?


1

2

3

4

import sys

sys.path.append("..")

import mod1

import mod2.mod2

原文地址:https://www.cnblogs.com/sjy18039225956/p/9265461.html

时间: 2024-11-08 12:52:33

Python中import导入上一级目录模块及循环import问题的解决的相关文章

import上一级目录的模块(转)

python中,import module会去sys.path搜索,sys.path是个列表,并且我们可以动态修改.要import某个目录的module,我们sys.path.insert(0,somedir)来加入搜索路径,就可以import了.既然这样,要import上一级目录的module,可以sys.path.insert(0,parentdir).不过这种写绝对路径的方式,如果文件放到其它地方,就不行了. 所以用动态方法来获取上一级目录. import os,sys parentdir

python中动态导入模块

如果导入的模块不存在,Python解释器会报 ImportError 错误: >>> import something Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named something 有的时候,两个不同的模块提供了相同的功能,比如 StringIO 和 cStringIO 都提供了Strin

Python中关于导入(import)语句的使用说明

在所有的语言中,语言的开发者都会为我们提供强大的库文件供我们调用,通过使用这些库文件,我们才可以把程序完美的运行起来,既然要用到库文件,我们就要导入我们需要使用的库文件,因为,机器是不知道我们想基于哪些库进行程序的编写的.在导入库的时候,不同的语言有自己的风格.例如在C/C++等语言中,我们使用#include <>或者#include ""来导入库或者头文件.那么在python中我们怎么导入库呢. 首先,在Python中,我们可以导入三种库:Python标准模块,Pyth

../ 上一级目录

1.../上一级目录 ../../上上一级目录 XmlDocument doc = new XmlDocument(); doc.Load("DatasModel.xml");    //\bin\Debug下,运行目录 doc.Load("../DatasModel.xml");    //\bin下

linux 中怎样返回上一层目录的命令

可以使用cd命令,cd命令的功能是切换到指定的目录:命令格式:cd [目录名]目录名有几个符号有特殊的含义,".."代表上一级目录."~"代表HOME目录."-"代表前一目录.因此返回上一级目录可以使用命令:cd .. 原文地址:https://www.cnblogs.com/confessionlouis/p/switchdir.html

git bash返回上一级目录

[email protected] MINGW64 ~/learngit/gitskills (dev)$ cd ..\ 注意 cd 后面有空格 然后就会弹出一个 > 直接回车返回上一级目录 [email protected] MINGW64 ~/learngit (master)$ 原文地址:https://www.cnblogs.com/qaqhong/p/10695004.html

Python3基础 os listdir curdir pardir 查看当前工作目录的上一级目录的所有文件的名字

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ code: # OS operating system # python跨平台的语言 import os #将工作目录更改为E:\a\b\c,就是在c这个文件夹里面 os.chdir(r'E:\a\b\c') #当前工作目录有啥 print(os.getcwd()) #上一级工作目录有啥

在CentOS 7 上设置返回上一级目录的快捷键为 Backspace

参考这里. 编辑文件: $ vi ~/.config/nautilus/accels 找到这一行:  ; (gtk_accel_path "<Actions>/ShellActions/Back" "<Alt>Left") ,可以看到,CentOS7 默认的向上一级目录跳转的快捷键是 Alt + ←. 在它下方添加一行,设置快捷键为 Backspace:  (gtk_accel_path "<Actions>/Shell

python中super出现的TypeError: must be type, not classobj 原因及解决

执行一下代码,出现错误,TypeError: must be type, not classobj class A():    def __init__(self):        print("Enter A")        print("Leave A") class B(A):    def __init__(self):        print("Enter B")        super(B, self).__init__()