Python模块
Python模块
模块
什么叫模块
模块英文为Modules
函数与模块的关系
- 一个模块中可以包含N多个函数
- 在Python中一个扩展名为.py的文件就是一个模块
使用模块的好处
- 方便其它程序和脚本的导入并使用
- 避免函数名和变量名冲突
- 提高代码的可维护性
- 提高代码的可重用性
自定义模块
创建模块
新建一个.py文件,名称尽量不要与Python自带的标准模块名称相同
导入模块
以主程序形式运行
以主程序形式运行
在每个模块的定义中都包括一个记录模块名称的变量__name__,程序可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入到其它程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的__name__变量的值为__main__
Python中的包
- 包是一个分层次的目录结构,它将一组功能相近的模块组织在一个目录下
作用:
代码规范
避免模块名称冲突
包与目录的区别
包含__init__.py文件的目录称为包
目录里通常不包含__init__.py文件
包的导入
Python中常用的内置模块
import math #关于数学运算
print(id(math))
print(type(math))
print(math)
print(math.pi)
print('----------------------------------------')
print(dir(math))
print(math.pow(2,3),type(math.pow(2,3)))
print(math.ceil(9.001))
print(math.floor(9.9999))
from math import pi
from math import pow
print(pi)
print(pow(2,3))
第三方模块的安装及使用
- 第三方模块的安装
- 第三方模块的使用
总结
百宝箱
编码格式
常见的字符编码格式
- Python的解释器使用的是Unicode(内存)
- .py文件在磁盘上使用UTF-8存储(外存)
文件的读写原理
- 文件的读写俗称“IO操作”
- 文件读写操作流程
- 操作原理
文件的读写操作
- 内置函数open()创建文件对象
- 语法规则
file=open('a.txt','r')
print(file.readlines())
file.close()
file=open('b.txt','a')
file.write('Python')
file.close()
常用的文件打开模式
文件的类型
- 按文件中数据的组织形式,文件分为以下两大类
文本文件 :存储的是普通“字符”文本,默认为unicode字符集,可以使用记本事程序打开
二进制文件:把数据内容用“字节”进行存储,无法用记事本打开,必须使用专用的软件打开 ,举例:mp3音频文件,jpg图片 .doc文档等
文件对象的常用方法
file=open('c.txt','a')
#file.write('hello')
lst=['java','go','python']
file.writelines(lst)
file.close()
with语句(上下文管理器)
- with语句可以自动管理上下文资源,不论什么原因跳出with块,都能确保文件正确的关闭,以此来达到释放资源的目的
with open('logo.png','rb') as src_file:
with open('copy2logo.png','wb') as target_file:
target_file.write(src_file.read())
目录操作
- os模块是Python内置的与操作系统功能和文件系统相关的模块,该模块中的语句的执行结果通常与操作系统有关,在不同的操作系统上运行,得到的结果可能不一样。
- os模块与os.path模块用于对目录或文件进行操作
os模块操作目录相关函数
import os
print(os.getcwd())
lst=os.listdir('../chap15')
print(lst)
#os.mkdir('newdir2')
#os.makedirs('A/B/C')
#os.rmdir('newdir2')
#os.removedirs('A/B/C')
os.chdir('E:\\vippython\\chap15')
print(os.getcwd())
os.path模块操作目录相关函数
import os
path=os.getcwd()
lst_files=os.walk(path)
for dirpath,dirname,filename in lst_files:
'''print(dirpath)
print(dirname)
print(filename)
print('-------------------------------------')'''
for dir in dirname:
print(os.path.join(dirpath,dir))
for file in filename:
print(os.path.join(dirpath,file))
print('----------------------------------')