Python常用模块
2019-11-09 09:22:32 228 举报
AI智能生成
python常用模块使用方法,持续更新。。。求赞,木有免费文件了😭
作者其他创作
大纲/内容
sys模块
<h2><b>概述</b></h2>
sys模块是与python解释器交互的一个接口
<h2><b>方法</b></h2>
<h3><b><font color="#16884a">sys.argv</font></b></h3>
命令行参数List,第一个元素是程序本身路径(用于获取命令行的参数)
<h3><font color="#16884a"><b>sys.exit(n)</b></font></h3>
退出程序,正确退出时exit(0),错误退出sys.exit(1)
<h3><b><font color="#16884a">sys.version</font></b></h3>
获取python解释器版本信息
<h3><b><font color="#16884a">sys.path</font></b></h3>
返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
<h3><b><font color="#16884a">sys.platfrom</font></b></h3>
返回操作系统平台名称
os模块
<h2><b>概述</b></h2>
os模块是与操作系统交互的一个接口
<h2><b>方法</b></h2>
<h2><b><font color="#c41230">os.</font></b></h2>
<h3><span style="font-family: inherit; font-size: 14px;"><font color="#16884a" style=""><b>os.getcwd()</b></font></span></h3>
获取当前工作目录,即当前python脚本工作的目录路径
<h3><b><font color="#16884a">os.chdir("dirname")</font></b></h3>
改变当前脚本工作目录;相当于shell下的cd
<h3><b><font color="#16884a">os.curdir</font></b></h3>
返回当前目录:(".")
<h3><b><font color="#16884a">os.pardir</font></b></h3>
获取当前目录的父目录字符串名:("..")
<h3><b><font color="#16884a">os.makedirs("dirName1/dirName2")</font></b></h3>
可生成多层递归目录
<h3><b><font color="#16884a">os.removedirs("dirName1")</font></b></h3>
若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
<h3><b><font color="#16884a">os.mkdir("dirName")</font></b></h3>
生成单机目录;相当于shell中mkdir dirName
<h3><b><font color="#00a650">os.rmdir("dirName")</font></b></h3>
删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirName
<h3><b><font color="#16884a">os.listdir("dirName")</font></b></h3>
列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
<h3><font color="#16884a"><b>os.remove("fileName")</b></font></h3>
删除一个文件
<h3><b><font color="#16884a">os.rename("oldName","newName")</font></b></h3>
重命名文件/目录
<h3><b><font color="#16884a">os.stat("path/fileName")</font></b></h3>
获取文件/目录信息
<h3><b><font color="#16884a">os.sep</font></b></h3>
输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
<h3><b><font color="#00a650">os.linesep</font></b></h3>
输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
<h3><b><font color="#16884a">os.pathsep</font></b></h3>
输出用于分割文件路径的字符串 win下为';'Linux下为':'
<h2><b><font color="#c41230">os.path.</font></b></h2>
time模块
概述
和时间有关系的我们就要用到时间模块
表示时间的三种方式
时间戳时间
floats时间,计算机使用的
time.time()
元组(struct_time)
元祖时间,用于计算用的
格式化的时间字符串
格式化时间,给人看的
time.strftime()
logging模块
<h2><b><font color="#924517">概述</font></b></h2>
logging模块用于日志输出
<h2><b><font color="#924517">日志级别</font></b></h2>
<h3><b><font color="#16884a">概述</font></b></h3>
日志一共分成5个等级
<h3><b><font color="#16884a">DEBUG</font></b></h3>
详细的信息,通常只出现在诊断问题上
<h3><b><font color="#16884a">INFO</font></b></h3>
确认一切按预期运行
<h3><b><font color="#16884a">WARNING</font></b></h3>
一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。
<h3><b><font color="#16884a">ERROR</font></b></h3>
更严重的问题,软件没能执行一些功能
<h3><b><font color="#16884a">CRITICAL</font></b></h3>
一个严重的错误,这表明程序本身可能无法继续运行
<h2><font color="#924517"><b>日志输出</b></font></h2>
输出控制台
记录到文件
两种都使用
<h2><b><font color="#924517">格式说明</font></b></h2>
<h3><b><font color="#16884a">概述</font></b></h3>
logging.basicConfig函数中,可以指定日志的输出格式format
<h3><b><font color="#16884a">%(levelno)s</font></b></h3>
打印日志级别的数值
<h3><b><font color="#16884a">%(levelname)s</font></b></h3>
打印日志级别的名称
<h3><b><font color="#16884a">%(pathname)s</font></b></h3>
打印当前执行程序的路径,相当于sys.argv[0]
<h3><b><font color="#16884a">%(filename)s</font></b></h3>
打印当前执行程序名
<h3><b><font color="#16884a">%(funcName)s</font></b></h3>
打印日志的当前函数
<h3><b><font color="#16884a">%(lineno)d</font></b></h3>
打印日志的当前行号
<h3><b><font color="#16884a">%(asctime)s</font></b></h3>
打印日志的时间
<h3><b><font color="#16884a">%(thread)d</font></b></h3>
打印线程ID
<h3><b><font color="#16884a">%(threadName)s</font></b></h3>
打印线程名称
<h3><b><font color="#16884a">%(process)d</font></b></h3>
打印进程ID
<h3><font color="#16884a"><b>%(message)s</b></font></h3>
打印日志信息
re模块
概述
正则表达式
操作方法
match
re.match() 能够匹配出以xxx开头的字符串
表示语法
原始字符串
r
表示字符
.
匹配任意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次<br>
表示边界
^
匹配字符串开头
$
匹配字符串结尾
\b
匹配一个单词的边界
\B
匹配非单词边界 <br>
匹配分组
|
匹配左右任意一个表达式
(ab)
将括号中字符作为一个分组
\num
引用分组num匹配到的字符串
(?P<name><name>) </name><br>
分组起别名
(?P=name)
引用别名为name分组匹配到的字符串
高级用法
search
search 查找
findall
findall 将匹配的数据全部返回
sub
sub 将匹配到的数据进行替换
split
split 根据匹配进行切割字符串,并返回一个列表
贪婪和非贪婪
?
子主题
random模块
随机数模块
random.randint(m,n)
子主题
random.randrange(n,m,l)
random.choice(xxxx)
random.
collections模块
概述
<h2>在内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等。</h2>
namedtuple
namedtuple: 生成可以使用名字来访问元素内容的tuple
deque
deque: 双端队列,可以快速的从另外一侧追加和推出对象
Counter
Counter: 计数器,主要用来计数
OrderedDict
OrderedDict: 有序字典
defaultdict
defaultdict: 带有默认值的字典
序列化模块
json模块
json 通用的序列化格式
只有很少的一部分数据类型能够通过json转化
json 可操作的数据类型,字符,数字,列表,字典
pickle模块
所有的python中数据类型都可以转化成字符串
pickle序列化的内容只有python能理解
且部分反序列化依赖ptthon代码
shelve模块
序列化句柄
使用句柄直接操作,非常方便
0 条评论
下一页