跨目录导入模块

炉山假面目 炉山假面目     2022-09-15     106

关键词:

示例目录结构:

 

 

1. 通过os模块获取文件所在的绝对路径

2. 获取文件的父级目录的绝对路径

3. 通过sys模块将获取到的绝对路径加入到环境变量中

4. 导入模块或包

以下为在sz.py文件中通过导入core的main_sz模块执行conf下settings.py中的代码演示

 

#!/usr/bin/env python
#_*_ coding: utf-8 _*_
# 这个是 sz.py 文件
import os,sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0,BASE_DIR)
from core import main_sz

 

#!/usr/bin/env python
#_*_ coding: utf-8 _*_
# 这个是 main_sz 文件
import os,sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0,BASE_DIR)
import conf
conf.settings.sz_setting()
#from conf import settings     #使用和上面一样from导入的方法就不需要在__init__.py中进行导入了
#settings.sz_setting()

  

 

# 这个是与 settings.py 同级的 __init__.py 文件
from . import settings

  

#!/usr/bin/env python
#_*_ coding: utf-8 _*_
# 这个是 settings.py 文件
print("This is setting module")
def sz_setting():
    print("欢迎使用setting测试模块")

  

 

执行结果如下:

This is setting module
欢迎使用setting测试模块

 

导入模块

导入模块1、导入模块的顺序1、先从当前目录下找这个模块2、再去环境变量里面找2、导入的模块的实质就是把导入的这个python文件运行一次一、导入模块方式:1、找到环境变量目录,然后将.py文件放到任意一个变量目录里,然... 查看详情

python模块导入详解(代码片段)

...on文件。包:用来从逻辑上组织模块的(可以放一堆模块在目录下)。本质就是一个目录(必须带有一个__init__.py文件)。 导入模块导入单个:import模块名 导入多个:import模块名1,模块名2  导入模块中所有代码:from模块... 查看详情

跨模块和全局变量的 Python 导入

】跨模块和全局变量的Python导入【英文标题】:Pythonimportsacrossmodulesandglobalvariables【发布时间】:2011-12-3105:31:33【问题描述】:我有一个似乎相当基本的问题,但我似乎无法在任何地方找到任何帮助。file_a.py>>fromxyzimportXYZclas... 查看详情

包及跨模块导入

1.pip命令默认在国外的python服务器上下载,速度会很慢。可以使用国内的豆瓣源,速度会快很多。(simple后面的斜杠/后要空一格然后输入下载的模块名,否则会像上面那样报错,下载速度惊人) 2.包有时候一个功能的实现需... 查看详情

我可以跨同一个 python 包的模块重用导入吗?

】我可以跨同一个python包的模块重用导入吗?【英文标题】:CanIreuseimportsacrossmodulesofthesamepythonpackage?【发布时间】:2021-09-2710:32:18【问题描述】:我有一个名为“test”的包,其中包含多个模块:master/|--__init__.py|--app/|--auth/|--test... 查看详情

解决python开发中模块冲突的具体方法?

...中最左边的那一项。如果你偏爱的模块和顶层脚本在同一目录下,那就不成问题;由于顶层脚本的主目录总是模块搜索路径中的第一项,因此它的内容总是会首先被自动定位。然而对于跨目录的导入,模块搜索路径的线性本质意... 查看详情

在python程序编写过程中,如何解决模块名称冲突?

...中最左边的那一项。如果你偏爱的模块和顶层脚本在同一目录下,那就不成问题;由于顶层脚本的主目录总是模块搜索路径中的第一项,因此它的内容总是会首先被自动定位。然而对于跨目录的导入,模块搜索路径的线性本质意... 查看详情

练习题(选择填空)1(代码片段)

...识点:模块介绍来源课时:常用模块学习-模块的种类和导入方法9、(多选题)我们在使用模块的时候,有以下哪几种模块导入的方式()A跨模块导入B绝对路径导入C相对路径导入D一个包下模块全部导入跨模块导入相对导入sy答案... 查看详情

第二模块:函数编程常用模块(代码片段)

01-常用模块学习-小鸡汤02-常用模块学习-模块种类和导入方法03-常用模块学习-模块的导入路径04-常用模块学习-开源模块学习的安装方式05-常用模块学习-使用国内源下载模块06-常用模块学习-包及跨模块导入07-常用模块学习-跨模... 查看详情

第十七章包

1.跨文件夹导入模块1、如果a文件夹所在目录在环境变量,a文件夹中的ma模块可以被一下方式导入:  import a.ma |  form a import ma2、如果a文件夹所在目录在环境变量,a文件夹中的b文件夹的mb模块可以被... 查看详情

[转]python3跨目录模块调用,你真的懂了吗?(代码片段)

小伙伴们,你们有遇到过调用自己写的模块(跨目录模块调用),提示你ImportError:Nomodulenamed...的情况,如果有,而且到现在还没有搞明白的,我想说,你今天看对文章了。这篇文章主要是讲解怎么还原一个出错的场景,然后分... 查看详情

如何制作跨模块变量?

...个模块中更改foo,它会在其他模块中更新。如果我可以在导入其他模块之前设置foo然后他们 查看详情

idea导入多模块项目

...块项目时候最好一起导入,idea文件->new选到所有模块根目录下,如下图2、查看及调整各模块目录调整各目录属性,选择模块然后点击右键弹出如下:调整范例如下3、部分导入失败的module可以先移除,然后再二次导入尝试移除m... 查看详情

从目录导入python中的用户定义模块

】从目录导入python中的用户定义模块【英文标题】:Importinguserdefinedmodulesinpythonfromadirectory【发布时间】:2016-09-2717:56:01【问题描述】:我正在尝试导入我在python中编写的一个模块,它只打印出一个包含数字的列表。我遇到的问... 查看详情

python18时间模块系统模块(os,os.path)项目开发目录规范

复习‘‘‘1.跨文件夹导包-不用考虑包的情况下直接导入文件夹(包)下的具体模块2.__name__:py自执行‘__main__‘|py被导入执行‘模块名‘3.包:一系列模块的集合体,通过包内的__init__文件来管理包中所有模块提供给外界的名字 ... 查看详情

父目录中模块的相对导入

】父目录中模块的相对导入【英文标题】:Relativeimportofmoduleinparentdirectory【发布时间】:2021-12-0417:49:12【问题描述】:我希望能够从位于子文件夹中的测试脚本测试python类。我的项目结构如下:importTest__init__.pytestFoldertestScript.pyt... 查看详情

打开模块“Swift”的导入文件:不是目录

】打开模块“Swift”的导入文件:不是目录【英文标题】:Openingimportfileformodule\'Swift\':Notadirectory【发布时间】:2015-02-0205:11:24【问题描述】:按照此处的说明在Swift上设置libxml后:libxml/tree.hnosuchfileordirectory编译时遇到错误提示:... 查看详情

从子文件夹而不是同一目录导入模块?

】从子文件夹而不是同一目录导入模块?【英文标题】:Importmodulefromchildfolderinsteadofsamedirectory?【发布时间】:2021-05-2412:25:57【问题描述】:所以我有以下文件结构(win10)project/mycode.pylib/bunchofpythonmodulesparamiko/allofparamiko\'sfiles在... 查看详情