模块
写代码的方式:面向过程
函数式
面向对象
hashlib
random
getpass
time
os
sys
shutil
1模块基本知识
1.1内置模块, python内部提供的功能
1.2第三方模块,下载/安装/使用
1.3安装
pip包管理工具
源码安装
自定义模块, 可以把一个py文件或一个文件夹(包)当作一个模块,以方便于以后其他py文件调用
py文件
文件夹 __init__.py
对于包的定义:
py2: 文件中必须有 __init__py
py3: 不需要
1.5导入模块
import 模块 模块函数()
from 模块 import 函数 函数()
from 模块 import 函数 as 别名 别名()
import 文件夹 加载__init__.py
2sys
python解析器相关的数据
sys.argv #获取文件路径
sys.path 默认python去导入模块,会按照sys.path中的路径挨个查找
sys.exit #跳出程序
sys 解析器相关的数据:递归次数/引用次数
3os
和操作系统相关数据
os.path.exists(path) #判断一个文件是否存在
os.stat(path).st_size #获取文件大小
os.path.abspath(path) #获取一个文件的绝对路径
os.path.dirname(path) #获取路径的上级目录
os.path.join #路径的拼接
os.listdir() #查看目录下的所有文件(只有一层)
os.walk=() #查看目录下的所有文件
os.makedir 创建目录
os.makedirs 创建目录
os.rename() 重命名
补充:转义
4 json
json是一个特殊的字符串。
dumps 序列化,将python的值转化为json格式的字符串
loads 反序列化,将json格式的字符串转换成python的数据类型
字典或列表中如有中文,序列化时想要保留中文显示
json.dumps(v,ensure_ascii=False)
json和pickle
json,优点:所有语言通用
缺点:只能序列化基本的数据类型
pickle 优点:python所有的东西都能被序列化
缺点:序列化的内容只有python认识
5shutil
shutil.rmtree() #删除目录
shutil.move() #重命名
shutil.make_archive() #压缩
shutil.unpack_archive() #解压
6time/datetime
UTC/GMT:世界时间
本地时间: 本地时区的时间
6.1time模块
time.time() #时间戳:1970-1-1
time.sleep() #等待时间
time.timezone
6.2datatime模块
datatime.now() #当前本地时间
datatime.utcnow() #当前UTC时间
datetime转字符串
strftime("%Y-%m-%d %H:%M:%S")
strptime("2020-11-1","%Y-%m-%d ")
迭代器
对某种对象(str/list/turple/dict/set类创建的对象)迭代对象 中的元素进行逐一获取
生成器(函数的变异)
内部是否含yield
函数的内部代码不会执行,返回一个生成器对象