当前位置: 首页 > 科技观察

降低成本,提高效率!12个必备的Python工具包!

时间:2023-03-18 23:27:05 科技观察

这篇文章,我挑选了12个最实用的软件包分享给大家,相信你会有所收获!1.DashDash比较新。非常适合使用纯Python构建数据可视化应用,因此特别适合和数据打交道的小伙伴。Dash是Fl??ask、Plotly.js和React.js的混合体。Dash无需触及一行Javascript,即可快速将您想要的内容放入漂亮的仪表板中。2.PyGamePygame是SDL多媒体库的Python包装器模块。SimpleDirectMediaLayer是一个跨平台开发库,旨在提供对OpenGL和Direct3DPygame的音频键盘鼠标操纵杆图形硬件的低级访问,具有高度可移植性,几乎可以在所有平台和操作系统上运行。它有一个成熟的游戏引擎,该库也可用于直接从Python脚本播放MP3文件。3.PillowPillow是Python图像库的一个分支。您可以使用库创建缩略图、在文件格式之间转换、旋转、应用滤镜、显示图像等。如果您需要对许多图像执行批量操作,这是理想的选择。为了快速浏览一下,下面是如何从Python代码显示图像:fromPILimportImageim=Image.open("kittens.jpg")im.show()print(im.format,im.size,im.mode)#JPEG(1920,1357)RGB4,Colorama使用Colorama,你可以给终端添加一些颜色:fromcoloramaimportFore,Back,Styleprint(Fore.RED+'someredtext')print(Back.GREEN+'and带有绿色背景')print(Style.DIM+'andindimtext')print(Style.RESET_ALL)print('现在恢复正常')该文档简短而贴心,可以在ColoramaPyPI页面上找到。如果你也想在Windows上使用它,你需要先调用colorama.init()。5.JmesPath在Python中使用JSON非常好用,因为JSON在Python字典上的映射非常好。对我来说,这是它最好的功能之一。importjmespath#获取特定元素d={"foo":{"bar":"baz"}}print(jmespath.search('foo.bar',d))#baz#使用通配符获取所有named={"foo":{"bar":[{"name":"one"},{"name":"two"}]}}print(jmespath.search('foo.bar[*].name',d))#["one","two"]6.RequestsRequests创建下载次数最多的Python库之一。它使Web请求非常简单,但仍然非常强大和通用。importrequestsr=requests.get('https://api.github.com/user',auth=('user','pass'))r.status_code#200r.headers['content-type']#'application/json;charset=utf8'r.encoding#'utf-8'r.text#u'{"type":"User"...'r.json()#{u'disk_usage':368627,u'private_gists':484,...}这是一个非常基本的示例,但是请求也可以执行所有高级操作,例如:使用cookie进行身份验证,执行POST、PUT、DELETE等。使用自定义证书使用会话使用代理7.SimplejsonPython中原生的json模块有什么问题?不!其实Python的json就是simplejson,它的好处是适用于更多的Python版本。它比Python自带的版本更新更频繁。它是用C语言编写的,所以速度非常快。尝试:importsimplejsonasjsonexceptImportError:importjson8,emoji这个表情符号可以给人留下深刻印象或排斥,这取决于谁在看。如果您分析社交媒体数据,此功能会派上用场。importemojiresult=emoji.emojize('Pythonis:thumbs_up:')print(result)#'Pythonis'#你也可以反过来:result=emoji.demojize('Pythonis')print(result)#'Pythonis:竖起大拇指:'9。Chardet可以使用chardet模块来检测文件或数据流的字符集。这很有用,例如,在分析大量随机文本时。但是,当您不知道字符集是什么时,也可以在处理远程下载的数据时使用它。安装chardet之后,你还有一个名为chardetect的额外命令行工具,可以像这样使用:$chardetectsomefile.txtsomefile.txt:asciiwithconfidence1.010Python-dateutilpython-dateutil模块提供了对标准datetime模块的强大扩展.你可以用这个库做很多很酷的事情,比如:模糊解析日志文件中的日期。fromdateutil.parserimportparselogline='INFO2020-01-01T00:00:01新年快乐,人类。'timestamp=parse(logline,fuzzy=True)print(timestamp)#2020-01-0100:00:0111,如何使用进度条progressfromprogress.barimportBarbar=Bar('Processing',max=20)foriinrange(20):#Dosomeworkbar.next()bar.finish()tqdm的函数大致相同,但它是最新的。首先是一些gif动画形式的演示:12.IPython如果你经常使用交互式程序,但又不会IPython,你应该试试看!增强的IPythonshell提供的一些功能包括:全面的对象内省。输入历史记录,跨会话持续存在。在会话期间使用自动生成的引用缓存输出结果。Tab补全,默认支持python变量和关键字、文件名和函数关键字的补全。用于控制环境和执行与IPython或操作系统相关的许多任务的“魔术”命令。会话记录和重新加载。集成访问pdb调试器和Python分析器。IPython的一个鲜为人知的特性:它的架构还允许并行和分布式计算。IPython是JupyterNotebook的核心,JupyterNotebook是一个开源Web应用程序,可让您创建和共享包含实时代码、方程式、可视化效果和叙述文本的文档。