51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 952|回复: 0
打印 上一主题 下一主题

[python] 降本增效!12 个必须尝试的Python工具包

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:05
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2022-3-30 09:44:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    在本文中,我挑选了 12 个最有用的软件包给大家分享,相信你有有所收获!
      1、Dash
      Dash是相对较新的。它是使用纯Python构建数据可视化应用程序的理想选择,因此特别适合处理数据的小伙伴。Dash是Flask,Plotly.js和React.js的混合体。

    Dash可以快速将所需的内容放入漂亮的仪表板中,而无需触摸任何一行Javascript。
      2、PyGame
      Pygame是SDL多媒体库的Python包装器模块。Simple DirectMedia Layer是一个跨平台的开发库,旨在提供对OpenGL和Direct3D Pygame的音频键盘鼠标操纵杆图形硬件的低级访问,并且高度可移植,并且可以在几乎所有平台和操作系统上运行。
      它具有完善的游戏引擎,也可以使用该库直接从Python脚本中播放MP3文件。
      3、Pillow
      Pillow 是 Python 图像库的分支。你可以使用该库来创建缩略图,在文件格式之间进行转换,旋转,应用滤镜,显示图像等等。如果需要对许多图像执行批量操作,这是理想的选择。
      为了快速了解它,这是如何从Python代码显示图像的方法:
    1. from PIL import Image
    2.   im = Image.open("kittens.jpg")
    3.   im.show()
    4.   print(im.format, im.size, im.mode)
    5.   # JPEG (1920, 1357) RGB
    复制代码

    4、Colorama
      使用Colorama,可以向终端添加一些颜色:
    1. from colorama import Fore, Back, Style
    2.   print(Fore.RED + 'some red text')
    3.   print(Back.GREEN + 'and with a green background')
    4.   print(Style.DIM + 'and in dim text')
    5.   print(Style.RESET_ALL)
    6.   print('back to normal now')
    复制代码
    该文档简短而有趣,可以在Colorama PyPI页面上找到。如果也想在Windows上使用它,则需要先调用colorama.init()。
      5、JmesPath
      在 Python 中使用 JSON 非常容易,因为 JSON 在 Python 字典上的映射非常好。对我来说,这是它最好的功能之一。
    1. import jmespath
    2.   # Get a specific element
    3.   d = {"foo": {"bar": "baz"}}
    4.   print(jmespath.search('foo.bar', d))
    5.   # baz
    6.   # Using a wildcard to get all names
    7.   d = {"foo": {"bar": [{"name": "one"}, {"name": "two"}]}}
    8.   print(jmespath.search('foo.bar[*].name', d))
    9.   # [“one”, “two”]
    复制代码
    6、Requests
      Requests 建立下载次数最多的Python库之一。它使 Web 请求确实非常简单,但仍然非常强大且用途广泛。
    1. import requests
    2.   r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
    3.   r.status_code
    4.   # 200
    5.   r.headers['content-type']
    6.   # 'application/json; charset=utf8'
    7.   r.encoding
    8.   # 'utf-8'
    9.   r.text
    10.   # u'{"type":"User"...'
    11.   r.json()
    12.   # {u'disk_usage': 368627, u'private_gists': 484, ...}
    复制代码
    这是一个非常基本的示例,但是请求也可以完成所有高级工作,例如:
      ·使用cookie进行身份验证
      · 执行POST,PUT,DELETE等。
      · 使用自定义证书
      · 使用会话
      · 使用代理
      7、Simplejson
      Python中的本地json模块有什么问题?没有!实际上,Python的json是simplejson,它具有如下优点:
      · 它可以在更多Python版本上使用。
      · 它比Python随附的版本更新频率更高。
      · 它具有用C编写的,因此非常快速。
    1.  try:
    2.     import simplejson as json
    3.   except ImportError:
    4.     import json
    复制代码
    8、表情符号
      这个 emoji 会给人留下深刻印象或排斥感,这取决于谁在看。如果你分析社交媒体数据时,这一功能派上了用场。

    1.  import emoji
    2.   result = emoji.emojize('Python is :thumbs_up:')
    3.   print(result)
    4.   # 'Python is '
    5.   # You can also reverse this:
    6.   result = emoji.demojize('Python is ')
    7.   print(result)
    8.   # 'Python is :thumbs_up:'
    复制代码
     9、Chardet
      可以使用chardet模块检测文件或数据流的字符集。例如,这在分析大量随机文本时很有用。但是,当你不知道字符集是什么时,也可以在处理远程下载的数据时使用它。安装chardet之后,您还有一个名为chardetect的额外命令行工具,可以像这样使用:
    1.  $ chardetect somefile.txt
    2.   somefile.txt: ascii with confidence 1.0
    复制代码
    10、Python-dateutil
      python-dateutil 模块提供了对标准 datetime 模块的强大扩展。可以使用此库做很多很棒的事情,比如:对日志文件中的日期进行模糊解析。
    1. from dateutil.parser import parse
    2.   logline = 'INFO 2020-01-01T00:00:01 Happy new year, human.'
    3.   timestamp = parse(logline, fuzzy=True)
    4.   print(timestamp)
    5.   # 2020-01-01 00:00:01
    复制代码
    11、进度条
      progress 的使用方法。
    1. from progress.bar import Bar
    2.   bar = Bar('Processing', max=20)
    3.   for i in range(20):
    4.       # Do some work
    5.       bar.next()
    6.   bar.finish()
    复制代码
    12、IPython
      如果你经常使用交互式程序,但是不了解IPython,则应该试验一下!增强的IPython shell提供的一些功能包括:
      ·全面的对象自省。
      · 输入历史记录,跨会话持续存在。
      · 在具有自动生成的引用的会话期间缓存输出结果。
      · 制表符补全,默认情况下支持python变量和关键字,文件名和函数关键字的补全。
      · "魔术"命令,用于控制环境并执行许多与IPython或操作系统相关的任务。
      · 会话日志记录和重新加载。对pdb调试器和Python分析器的集成访问。
      · IPython的一个鲜为人知的功能:它的体系结构还允许并行和分布式计算。
      · IPython是Jupyter Notebook的核心,它是一个开放源代码Web应用程序,可让你创建和共享包含实时代码,方程式,可视化效果和叙述文本的文档。



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-22 21:29 , Processed in 0.064207 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表