14.包
Posted yellowcloud
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了14.包相关的知识,希望对你有一定的参考价值。
包
? 我们使用模块去组织功能,而随着模块越来越多,我们就需要用文件夹将模块文件组织起来,以此来提高程序的结构性,使程序更加明了
? 包就是一个包含有__init__.py文件的文件夹,所以我们创建包的目的就是为了用文件夹将文件/模块组织起来
? 创建包的目的不是为了运行,而是被导入使用,包只是模块的一种形式而已,包的本质就是一种模块
? 包相关的导入语句也分为import和from ... import ...两种
? import导入文件时,产生名称空间中的名字来源于文件,import导入包时,产生的名称空间的名字同样来源于文件,即包下的__init__.py文件,导入包本质就是在导入该文件,在__init__.py中导入包内的模块名时,注意这里环境变量是以执行文件为准
绝对导入:以最顶级的包作为起始导入
相对导入:用.或者..的方式最为起始(只能在一个包中使用,不能用于不同目录内)
?
json模块
json模块是用来存取数据的,类似于之前我们所用txt文本存储数据,但txt文件保存为字符串,取出来还是字符串。但是我们所使用json模块中json文本一般用于保存python中的字典(最常用的)或者列表
它的方法是使用json.dumps()存储到json文本中,存进去的是json串(和字典很像的一个东西,只不过它里面的所有元素都必须是双引号)
取出来时用的是json.loads(),取出来是字典或列表形式
文件中转换使用以下两个方法load() ,dump()
os 模块
- 列出目录下的所有文件: os.listdir()
- 重新命名:os.rename()
- 删除文件os.remove()
- 按照不同系统重新拼接不同路径:os.path.join()
- 判断是否为文件:os.path.isfile()
- 判断是否为文件夹:os.path.isdir
- 判断文件是否存在:os.path.exists
- 新建文件夹:os.mkdir
- 将文件夹下的所有文件一步步按照路径列出来:os.walk(filename)
以上是关于14.包的主要内容,如果未能解决你的问题,请参考以下文章
实验:将inotify-tools-3.14.tar.gz源码包做成rpm包