知行编程网知行编程网  2022-05-03 07:00 知行编程网 隐藏边栏 |   抢沙发  5 
文章评分 0 次,平均分 0.0

Python中那些小众但有用的内置模块


Python中那些小众但有用的内置模块

今天带来的是python里一些小众但是却比较实用的python库,一起来看看吧!

pprint:更清晰的打印

pprint 是 pretty printer 的缩写,用来打印 Python 数据结构,与 print 相比,它打印出来的结构更加整齐,便于阅读。
先来看看print
Python中那些小众但有用的内置模块
再来看看pprint,是不是打印出来更加方便阅读
Python中那些小众但有用的内置模块

shutil :高级文件操作

shutil 是 Python 中的高级文件操作模块
首先导入相关库
Python中那些小众但有用的内置模块
然后创建一个test.file用于示例,执行完毕工作目录下就会多一个文件test.file
Python中那些小众但有用的内置模块
复制文件
现在使用shutil.copy(src, dst) 将源文件复制到目标地址:
Python中那些小众但有用的内置模块
复制文件夹
使用os将文件转移到 test_dir 文件夹:
Python中那些小众但有用的内置模块
使用 shutil.copytree 来复制文件夹
Python中那些小众但有用的内置模块
删除非空文件夹
使用 shutil.rmtree 来删除非空文件夹:
Python中那些小众但有用的内置模块
移动文件夹
shutil.move 可以整体移动文件夹,与 os.rename 功能差不多。

压缩文件
先看看支持的压缩文件格式:
Python中那些小众但有用的内置模块
shutil.make_archive(basename, format, root_dir)可以用来压缩文件

logging :记录日志

打印日志还在用print()吗?logging 模块可以用来记录日志


logging 的日志类型有以下几种:
  • logging.critical(msg)
  • logging.error(msg)
  • logging.warning(msg)
  • logging.info(msg)
  • logging.debug(msg)
级别排序为:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET
默认情况下,logging 的日志级别为 WARNING,只有不低于 WARNING 级别的日志才会显示在命令行。

Python中那些小众但有用的内置模块

也可以这样修改默认的日志级别:

Python中那些小众但有用的内置模块

也可以通过 logging.basicConfig() 函数来改变默认的日志显示方式:

Python中那些小众但有用的内置模块

glob :文件模式匹配

glob 模块提供了方便的文件模式匹配方法。
例如,找到所有以 .txt结尾的文件名:

Python中那些小众但有用的内置模块

或者是匹配数字开头的文件夹名:

Python中那些小众但有用的内置模块

collections :更多数据结构

计数器

可以使用 Counter(seq) 对序列中出现的元素个数进行统计。例如,我们可以统计一段文本中出现的单词及其出现的次数:

Python中那些小众但有用的内置模块

双端队列

双端队列支持从队头队尾出入队,与列表相比,双端队列在队头的操作更快:

Python中那些小众但有用的内置模块

带默认值的字典

对于 Python 自带的词典 d,当 key 不存在的时候,调用 d[key] 会报错,但是 defaultdict 可以为这样的 key 提供一个指定的默认值,我们只需要在定义时提供默认值的类型即可,如果 key 不存在返回指定类型的默认值:

Python中那些小众但有用的内置模块

hashlib :字符加密

hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256, sha384, sha512等算法

比如,我们来试试将早起python进行加密

Python中那些小众但有用的内置模块

以上加密算法虽然依然非常厉害,但有时候存在缺陷,即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。

<p style="margin-right: 8px;margin-left: 8px;"><span style="font-size: 15px;"><strong>近期热门:</strong><br  /></span></p><p style="margin: 10px 8px 5px;padding-right: 0em;padding-left: 0em;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;white-space: normal;widows: 1;word-spacing: 10px;letter-spacing: 1.5px;line-height: normal;"><span style="color: rgb(0, 122, 170);font-size: 15px;">● </span><span style="color: rgb(0, 122, 170);font-size: 15px;text-decoration: underline;">我的神!用Python竟然还能做一个文字套娃</span></p><p style="margin: 10px 8px 5px;padding-right: 0em;padding-left: 0em;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;white-space: normal;widows: 1;word-spacing: 10px;letter-spacing: 1.5px;line-height: normal;">● 我珍藏的一些好的Python代码,技巧|上篇</p><p style="margin: 10px 8px 5px;padding-right: 0em;padding-left: 0em;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;white-space: normal;widows: 1;word-spacing: 10px;letter-spacing: 1.5px;line-height: normal;"><span style="color: rgb(0, 122, 170);font-size: 15px;">● <span style="text-decoration: underline;">爬取300本Python书籍,用Python告诉你哪家强?</span></span></p><p style="margin: 10px 8px 5px;padding-right: 0em;padding-left: 0em;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;white-space: normal;widows: 1;word-spacing: 10px;letter-spacing: 1.5px;line-height: normal;"><span style="color: rgb(0, 122, 170);font-size: 15px;">● </span><span style="color: rgb(0, 122, 170);font-size: 15px;text-decoration: underline;">卧槽!Pdf转Word用Python轻松搞定!</span></p><p style="margin: 10px 8px 5px;padding-right: 0em;padding-left: 0em;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;white-space: normal;widows: 1;word-spacing: 10px;letter-spacing: 1.5px;line-height: normal;"><span style="font-size: 15px;"><span style="color: rgb(0, 122, 170);">● </span><span style="color: rgb(0, 122, 170);text-decoration: underline;">我打赌,学会这6招,谁再敢笑你的Python程序慢!</span></span></p>

本篇文章来源于: 菜鸟学Python

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享