Python常用模块
2019-11-09 09:22:32 228 举报
AI智能生成
python常用模块使用方法,持续更新。。。求赞,木有免费文件了😭
作者其他创作
大纲/内容
sys模块
概述
sys模块是与python解释器交互的一个接口
方法
sys.argv
命令行参数List,第一个元素是程序本身路径(用于获取命令行的参数)
sys.exit(n)
退出程序,正确退出时exit(0),错误退出sys.exit(1)
sys.version
获取python解释器版本信息
sys.path
返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platfrom
返回操作系统平台名称
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")
获取文件/目录信息
os.sep
输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep
输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.pathsep
输出用于分割文件路径的字符串 win下为';'Linux下为':'
os.path.
time模块
概述
和时间有关系的我们就要用到时间模块
表示时间的三种方式
时间戳时间
floats时间,计算机使用的
time.time()
元组(struct_time)
元祖时间,用于计算用的
格式化的时间字符串
格式化时间,给人看的
time.strftime()
logging模块
概述
logging模块用于日志输出
日志级别
概述
日志一共分成5个等级
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
打印日志信息
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次
表示边界
^
匹配字符串开头
$
匹配字符串结尾
\b
匹配一个单词的边界
\B
匹配非单词边界
匹配分组
|
匹配左右任意一个表达式
(ab)
将括号中字符作为一个分组
\num
引用分组num匹配到的字符串
(?P<name>)
分组起别名
(?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模块
概述
在内置数据类型(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模块
序列化句柄
使用句柄直接操作,非常方便
0 条评论
下一页