python两个模块相互导入_7 python 模块间相互导入

本文详细介绍了Python中模块的分类、使用模块的好处、模块的调用方法,包括同级引用、从模块导入特定部分,以及处理不同层级目录下的模块导入。此外,还讲解了如何通过添加父级目录到系统路径来实现跨级导入,并提供了开源模块的安装和使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python在不同层级目录import模块的方法

注意,在python3里,即使目录下没__int__.py文件也能创建成功,猜应该是解释器优化所致,但创建包还是要记得加上这个文件 吧。

1、模块的分类

(1)内置模块(又称标准库)执行help(modules)查看所以python自带模块列表

17d0bb4d5bbc168a0e6f83f9cb14ecd6.png

(2)第三方开源模块,可以通过pip install模块名联网安装 django

(3)自定模块

2、什么是模块

在计算机程序开发过程中,随着代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护,为了提高代码的可维护性。

我们把很多函数分组,分别放在不同的文件里,这样每个文件里面的代码就相对较少。

在python中,一个.py文件就称为一个模块

3、使用模块的好处

(1)提高代码的可维护性

(2)避免函数名和变量名冲突

(2)模块可以重用,避免使用重复代码

4、模块的调用

import module (同级引用)

from module import xxx(引用module 儿子辈文件)

from module.xx.xx import (相当于在引用module的孙子辈文件)

当你要导入的文件在和你的当前文件在同一个目录时,你直接导入这个文件名就好了。

当你要导入的文件或者目录不和你的当前文件同目录时,你需要跳到这个你要导入文件的父级目录,然后一级一级的用点号连接走过的目录或者文件,

然后就可以了 至于要怎么跳到这个这个父级目录。

比较通用的就是,将父级目录加入系统路径,然后用点号一级一级的寻找,直到到达你要导入的模块。

947caee0e66e0d204e83b3cb0ebf9957.png

好比user_conroller.py 要引用setting.py文件里面的函数

user_conroller.py属于atm孙子辈文件

atm与conf同级

在user_conroller.py里面设置环境变量#添加环境变量

BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))(atm和conf的父级绝对路径)

sys.path.append(BASE_DIR)

os.path.abspath(__file__)表示当前文件的绝对路径

os.path.dirname(os.path.abspath(__file__))表示user_conroller.py父级目录的路径

要引用conf下文件,必须回到conf的父级路径,所以

设置环境变量:

os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))(atm和conf的父级绝对路径目录)

引用:from conf importsettings#----------------------------------------------------

如果在settings.py文件里面引用 user_conroller.py的函数

设置环境变量

BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

sys.path.append(BASE_DIR)

form atm.coreimport user_conroller

绝对路径:os.path.abspath("文件名"):

显示的是一个文件的绝对路劲

print(os.path.abspath("settings.py"))

2、相对路径

os.path.dirname("文件名"):

显示的是一个文件的相对路径

5、开源模块的安装和使用

开源模块安装、使用

https://pypi.python.org/pypi 是python的开源模块库,截止2017年9.30日 ,已经收录了118170个来自全世界python开发者贡献的模块,几乎涵盖了你想用python做的任何事情。

事实上每个python开发者,只要注册一个账号就可以往这个平台上传你自己的模块,这样全世界的开发者都可以容易的下载并使用你的模块。

0766524bad98a661c3d036ba0d0e5c02.png那如何从这个平台上下载代码呢?

1.直接在上面这个页面上点download,下载后,解压并进入目录,执行以下命令完成安装

编译源码 python setup.py build

安装源码 python setup.py install

直接通过pip安装 pip3 install paramiko #paramiko 是模块名

pip命令会自动下载模块包并完成安装。

软件一般会被自动安装你python安装目录的这个子目录里

/your_python_install_path/3.6/lib/python3.6/site-packages

pip命令默认会连接在国外的python官方服务器下载,速度比较慢,你还可以使用国内的豆瓣源,数据会定期同步国外官网,速度快好多

sudo pip install -i http://pypi.douban.com/simple/ alex_sayhi --trusted-host pypi.douban.com #alex_say

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值