day22 包,相对/绝对路径
包
包是一个文件夹,也是一个模块,只是为了区分单个文件的模块,称之为包。因为单纯的文件夹无法作为模块,文件夹内的_init_.py(写死/规定)文件才是真正需要的东西
所以本质上,包就是一个带_init_.py的文件夹。
包被导入时发生的三件事
import aaa
- 打开aaa里_init_.py文件
- Python解释器解释运行 __init__.py文件,把__init__.py里的名字丢入aaa模块的名称空间
- 导入aaa其实就是导入__init__里的名字
- 和模块不同的地方在于:模块是直接打开文件,而包是打开里面的_init_.py文件
为什么要有包
- 模块内的函数太多了,不方便管理,需要把一个模块分成多个,但是分开后导入方式就变了。所以就有了包,可以起到一个类似于函数装饰器的作用
- 好处:不改变模块原先的导入方式,并且简化模块开发者的管理复杂度
相对路径
from .aaa import *
.
代表当前..
代表上一级...
代表上一级的上级
相对路径的好处在于:万一包的名字改变了,使用相对路径不会对包内的名字造成任何影响
- 相对路径是相对当前文件本身而言
.
号前面必须是一个包,不能是一个模块- 当文件是执行文件时,不能使用相对路径
绝对路径
- 文件本身的路径
day22 包,相对/绝对路径的更多相关文章
- springBoot 项目war包部署及改为war包后资源路径错误问题
参考资料: https://blog.csdn.net/rico_zhou/article/details/83415114 https://blog.csdn.net/pz641/article/d ...
- linux下 彻底修改python的包/模块导入路径
python模式下,有时候需要导入 import某些模块或者包.明明这个模块/包是存在的,却提示导入错误,比如,“ImportError: No module named lxml”. 但是当你在命 ...
- 22.访问jar包下资源路径里的文件
访问jar包下资源路径里的文件 因为打包路径和你构建的代码路径是有差异的,想要查看真实的路径情况,可以查看编译后的classes目录下的文件结构. 想要获取资源文件流: private InputSt ...
- mysql 开发进阶篇系列 30 数据库二进制包(安装指定路径,目录介绍)
一. 指定路径 在上一篇里,二进制包解压后,全部放入在/usr/local/mysql目录下,在安装时指定了基础目录和数据目录, --basedir=/usr/local/mysql --datadi ...
- 获取jar包当前的路径
转自:http://kinganpo.iteye.com/blog/876243 import java.io.File; /** * 获取打包后jar的路径信息 * @author Administ ...
- jmeter的Classpath即类或者jar包的搜索路径设置
对于master-slave模式,插件和依赖都需要放到slave上才能生效,并且需要重启slave使插件生效 查看配置文件:apache-jmeter-3.1/bin/jmeter.propertie ...
- struts2,hibernate等模板配置文件在jar包中的路径,以及所需要的包
一.struts2 1.struts的配置模板文件struts-default.xml的位置: struts-2.3.16.1 --> src --core --> src --> ...
- java war包 路径--解决war包中文件路径问题
https://blog.csdn.net/u013409283/article/details/51480948 转自:http://free-chenwei.iteye.com/blog/1507 ...
- django-导入应用包的搜索路径
创建应用包 在 settings.py注册和配置urls.py中要按顺序导入包名和应用名 settings.py INSTALLED_APPS = ( 'django.contrib.admin', ...
随机推荐
- 百度API的经历,怎样为多个点添加带检索功能的信息窗口
不管我们要做什么样的效果,APIKey(密钥)都是不可缺少的要件,所以我们需要先去百度申请我们的APIKey!!! 伸手党,请直接到页面底部获取完整代码! 最近做一个门店查询的内容展示,考虑到用户直观 ...
- 用python实现进度条功能
我在做python的作业:ftp服务时,客户端能够上传.下载文件,这个时候需要编写一个进度条来表示当前的传输进度. 我们可以使用sys,模块来完成任务,需要用到sys.stdout这个方法: 程序示例 ...
- (31)Spring Boot导入XML配置【从零开始学Spring Boot】
[来也匆匆,去也匆匆,在此留下您的脚印吧,转发点赞评论: 您的认可是我最大的动力,感谢您的支持] Spring Boot理念就是零配置编程,但是如果绝对需要使用XML的配置,我们建议您仍旧从一个@Co ...
- VMware 12安装CentOS 6.9时出现:The centos disc was not found in any of your drives.Please insert the centos disc and press OK to retry
错误: The centos disc was not found in any of your drives.Please insert the centos disc and press OK t ...
- Codeforces 474 C. Captain Marmot
4*4*4*4暴力+点的旋转+推断正方型 C. Captain Marmot time limit per test 1 second memory limit per test 256 megaby ...
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第12章节--SP 2013中远程Event Receivers 总结
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第12章节--SP 2013中远程Event Receivers 总结 本章节向你介绍了SP平台上eve ...
- python中获取当前路径【os模块】
本机windows,文件目录F:\python\ClStudyDemo\osTest.py os.path.realpath(_file_)——返回真实路径 os.path.split()——返回路径 ...
- 【cl】java变量
知识点一: 变量:有声明,有初始化! 变量作用域:变量在声明的地方开始,到块结束(其中一对{}叫块) 变量不能重复声明(声明=定义):在同一个作用域中不能重复声明变量! 在作用域中如果已经有变量了,就 ...
- JS 滚动条事件
当滚动条滚动到最底部出发事件: $(window).scroll(function(){ if($(document).height()-$(this).scrollTop()-$(this).hei ...
- VmBox硬盘容量调整
硬盘容量修改为15*1024MB. VBoxManage.exe modifyhd "F:\VirtualBox\magiclinux.vdi" --resize 15360 ...