python包和模块
模块
-
python中模块就是一个py文件
-
调用模块
-
# import [模块名]
-
# from [模块名] import [模块内的属性,代码块] as [别名]
-
# from [模块名] import * 导入全部
-
-
python内建模块
-
random
(random — 生成伪随机数 — Python 3.12.4 文档)
- choice 从序列中随机挑选一个元素
- randrange 从指定范围随机获得随机数
- random 随机生成0~1的实数
-
time
-
os
(datetime — 基本日期和时间类型 — Python 3.12.4 文档)
- 和操作系统交互
- mkdir 创建目录
- getcwd 获取当前目录
-
os.path
- 处理文件目录操作
- os.path.dirname 获取目录
- os.path.join 合并路径
- os.path.exists 判断路径是否存在
包
-
包是把模块以文件夹的形式进行管理的方法
-
包里有一个文件(
__init__
.py),这个文件可以为空,但是必须存在 -
导入和模块类似,使用点语法导入
-
__init__
.py 文件- 可以执行初始化代码
- 控制包的导入行为
- 批量导入模块
第三方包
- 第三方使用pip命令安装管理
- 可以使用conda虚拟环境管理python的版本和第三方包
依赖清单
使用pipreqs工具自动生成项目依赖包和版本
pip 安装工具包
进入项目文件,运行
pipreqs .
自动生成requirements.txt
的文件
python异常
使用try-except语句
可以捕捉程序运行时的异常
try:
#可能出现异常的语句
except 错误类型:
异常处理
except:
异常处理
else:
pass
finally:
最终处理
except 后面可以有一个或者多个错误类型,接受对应的错误类型,执行子句
except 可以没有错误类型,接受所有的错误类型
else 程序没有错误时执行,有错误不执行
finally 无论怎么样都执行
-
raise
-
抛出异常
-
raise
异常类型 或者 异常对象 -
抛出错误,让程序进入异常状态
-
x = 1 if x == 1: raise ValueError
-
raise [错误类型] as err
可以接受错误类型
-
python文件操作
-
打开文件
f = open(path)
-
读取文件
conten = f.read()
-
写入
f.write()
-
关闭
f.close()
需要关闭文件,释放文件的占用,操作才能生效 -
with 上下文管理文件
-
with open() as f: cont = f.read() # 执行之后自动关闭文件
-
python JSON数据解析
序列化和反序列化
使用JSON库中的dumps() loads()
进行JSON数据的序列化和反序列化
-
序列化
dumps
将python中的对象转化为JSON格式的字符串 -
反序列化
loads
将JSON格式的字符转化为对象 -
JSON格式类似python中的字典列表嵌套的形式
python正则表达式
正则表达式是特殊的字符序列,可以匹配到符合条件的字符串,使用re模块
(re — 正则表达式操作 — Python 3.12.4 文档)
^
匹配开头
&
匹配结尾
.
匹配任意字符
re*
匹配0或多个表达式
re+
匹配1个或多个
\w
小写 数字字母下划线
\W
大写 分数字字母下划线
\s
小写 任意非空白字符
\S
大写 任意非空字符
\d
匹配数字
match()
从字符串开始的位置匹配
search()
找到匹配成功的第一位置
findall()
找到匹配成功的所有位置,返回列表
python日期和时间
(time — 时间的访问和转换 — Python 3.12.4 文档)
- time.time() 返回当前时间戳
- time.sleep() 让程序暂停
- time.localtime() 将时间戳转化为本地时区的stuct_time格式
- time.strftime()格式化时间
- time.ctime() 把时间戳转化为本地时间