导图社区 python 常用模块
python 常用模块:re模块、random模块、collections模块、json模块、logging模块、time模块、os模块、sys模块
编辑于2020-06-20 11:59:13程序猿知识技能总结大全,java、python、正则表达式、Linux等多方面知识导图
包含抖音运营、短视频运营要点、运营之光、从零开始做运营、学会写作等多个运营读书笔记、运营知识框架等
产品、运营工具包大全:办公工具、文字工具、音频工具、视频工具、社群工具、公众号辅助工具、排版工具、图片工具、H5工具、小程序工具等
项目管理流程竖版思维导图、从需求收集、需求评审、规划阶段、再到方案实现阶段、测试阶段、至最后的上线阶段,详细描述每个阶段的工作内容
产品需求文档(PRD)是确保团队理解项目需求和目标的关键文档。在撰写PRD时,要明确项目背景、需求类型,遵循有理有据、全面清晰、易读的写作原则。选择适当的工具如Axure或Word,包括文档修改记录、项目背景、名词解释、流程图、需求说明等内容。使用原型工具结合需求,提供清晰的视觉参考。详细描述每个功能点,包括权限、规则逻辑、极值、交互等。使用标点符号、示例、标记重要内容,提高文档可读性。最终,根据项目需求决定是否包含额外的内容,以确保PRD有效指导项目开发。
系统集成项目管理工程师-十大管理输入、输出、工具总结,软考必备复习导图
社区模板帮助中心,点此进入>>
程序猿知识技能总结大全,java、python、正则表达式、Linux等多方面知识导图
包含抖音运营、短视频运营要点、运营之光、从零开始做运营、学会写作等多个运营读书笔记、运营知识框架等
产品、运营工具包大全:办公工具、文字工具、音频工具、视频工具、社群工具、公众号辅助工具、排版工具、图片工具、H5工具、小程序工具等
项目管理流程竖版思维导图、从需求收集、需求评审、规划阶段、再到方案实现阶段、测试阶段、至最后的上线阶段,详细描述每个阶段的工作内容
产品需求文档(PRD)是确保团队理解项目需求和目标的关键文档。在撰写PRD时,要明确项目背景、需求类型,遵循有理有据、全面清晰、易读的写作原则。选择适当的工具如Axure或Word,包括文档修改记录、项目背景、名词解释、流程图、需求说明等内容。使用原型工具结合需求,提供清晰的视觉参考。详细描述每个功能点,包括权限、规则逻辑、极值、交互等。使用标点符号、示例、标记重要内容,提高文档可读性。最终,根据项目需求决定是否包含额外的内容,以确保PRD有效指导项目开发。
系统集成项目管理工程师-十大管理输入、输出、工具总结,软考必备复习导图
python 常用模块
re模块
概述
正则表达式
# 正则表达式概述 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。 Regular Expression的“Regular”一般被译为“正则”、“正规”、“常规”。此处的“Regular”即是“规则”、“规律”的意思,Regular Expression即“描述某种规则的表达式”之意。
操作方法
match
re.match() 能够匹配出以xxx开头的字符串
表示语法
原始字符串
r
# 说明 ## Python中字符串前面加上 r 表示原生字符串, 与大多数编程语言相同,正则表达式里使用"\"作为转义字符,这就可能造成反斜杠困扰。假如你需要匹配文本中的字符"\",那么使用编程语言表示的正则表达式里将需要4个反斜杠"\\":前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后再在正则表达式里转义成一个反斜杠。 Python里的原生字符串很好地解决了这个问题,有了原始字符串,你再也不用担心是不是漏写了反斜杠,写出来的表达式也更直观。
表示字符
.
匹配任意1个字符(除了\n)
[ ]
匹配[ ]中列举的字符
\d
匹配数字,即0-9
\D
匹配非数字,即不是数字
\s
匹配空白,即 空格,tab键
\S
匹配非空白
\w
匹配单词字符,即a-z、A-Z、0-9、_
\W
匹配非单词字符
表示数量
*
匹配前一个字符出现0次或者无限次,即可有可无
+
匹配前一个字符出现1次或者无限次,即至少有1次
?
匹配前一个字符出现1次或者0次,即要么有1次,要么没有
{m}
匹配前一个字符出现m次
{m,}
匹配前一个字符至少出现m次
{m,n}
匹配前一个字符出现从m到n次
表示边界
^
匹配字符串开头
$
匹配字符串结尾
\b
匹配一个单词的边界
\B
匹配非单词边界
匹配分组
|
匹配左右任意一个表达式
(ab)
将括号中字符作为一个分组
\num
引用分组num匹配到的字符串
(?P<name>)
分组起别名
(?P=name)
引用别名为name分组匹配到的字符串
高级用法
search
search 查找
findall
findall 将匹配的数据全部返回
sub
sub 将匹配到的数据进行替换
split
split 根据匹配进行切割字符串,并返回一个列表
贪婪和非贪婪
Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符; 非贪婪则相反,总是尝试匹配尽可能少的字符。 在"*","?","+","{m,n}"后面加上?,使贪婪变成非贪婪。
random模块
随机数模块
random.randint(m,n)
random.randrange(n,m,l)
random.choice(xxxx)
random.
collections模块
概述
在内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等。
namedtuple
namedtuple: 生成可以使用名字来访问元素内容的tuple
deque
deque: 双端队列,可以快速的从另外一侧追加和推出对象
Counter
Counter: 计数器,主要用来计数
OrderedDict
OrderedDict: 有序字典
defaultdict
defaultdict: 带有默认值的字典
序列化模块
json模块
json 通用的序列化格式
只有很少的一部分数据类型能够通过json转化
json 可操作的数据类型,字符,数字,列表,字典
pickle模块
所有的python中数据类型都可以转化成字符串
pickle序列化的内容只有python能理解
且部分反序列化依赖ptthon代码
shelve模块
序列化句柄
使用句柄直接操作,非常方便
logging模块
概述
logging模块用于日志输出
日志级别
概述
日志一共分成5个等级
# 5个等级 从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL。 ### debug 详细的信息,通常只出现在诊断问题上 ### info 确认一切按预期运行 ### warning 一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。 ### error 更严重的问题,软件没能执行一些功能 ### critical 一个严重的错误,这表明程序本身可能无法继续运行 ## 注 默认的是WARNING,当在WARNING或之上时才被跟踪。
DEBUG
详细的信息,通常只出现在诊断问题上
INFO
确认一切按预期运行
WARNING
一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。
ERROR
更严重的问题,软件没能执行一些功能
CRITICAL
一个严重的错误,这表明程序本身可能无法继续运行
日志输出
输出控制台
记录到文件
两种都使用
格式说明
概述
logging.basicConfig函数中,可以指定日志的输出格式format
%(levelno)s
打印日志级别的数值
%(levelname)s
打印日志级别的名称
%(pathname)s
打印当前执行程序的路径,相当于sys.argv[0]
%(filename)s
打印当前执行程序名
%(funcName)s
打印日志的当前函数
%(lineno)d
打印日志的当前行号
%(asctime)s
打印日志的时间
%(thread)d
打印线程ID
%(threadName)s
打印线程名称
%(process)d
打印进程ID
%(message)s
打印日志信息
time模块
概述
和时间有关系的我们就要用到时间模块
表示时间的三种方式
时间戳时间
floats时间,计算机使用的
time.time()
元组(struct_time)
元祖时间,用于计算用的
格式化的时间字符串
格式化时间,给人看的
time.strftime()
os模块
概述
os模块是与操作系统交互的一个接口
方法
os.
os.getcwd()
获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname")
改变当前脚本工作目录;相当于shell下的cd
os.curdir
返回当前目录:(".")
os.pardir
获取当前目录的父目录字符串名:("..")
os.makedirs("dirName1/dirName2")
可生成多层递归目录
os.removedirs("dirName1")
若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir("dirName")
生成单机目录;相当于shell中mkdir dirName
os.rmdir("dirName")
删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirName
os.listdir("dirName")
列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove("fileName")
删除一个文件
os.rename("oldName","newName")
重命名文件/目录
os.stat("path/fileName")
获取文件/目录信息
# stat 结构: st\_mode: inode 保护模式 st\_ino: inode 节点号。 st\_dev: inode 驻留的设备。 st\_nlink: inode 的链接数。 st\_uid: 所有者的用户ID。 st\_gid: 所有者的组ID。 st\_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。 st\_atime: 上次访问的时间。 st\_mtime: 最后一次修改的时间。 st\_ctime: 由操作系统报告的"ctime"。在某些系统上(如Unix)是最新的元数据更改的时间,在其它系统上(如Windows)是创建时间(详细信息参见平台的文档)。
os.sep
输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep
输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.pathsep
输出用于分割文件路径的字符串 win下为';'Linux下为':'
os.path.
sys模块
概述
sys模块是与python解释器交互的一个接口
方法
sys.argv
命令行参数List,第一个元素是程序本身路径(用于获取命令行的参数)
sys.exit(n)
退出程序,正确退出时exit(0),错误退出sys.exit(1)
sys.version
获取python解释器版本信息
sys.path
返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platfrom
返回操作系统平台名称