想要快速完成一个Python项目,离不开这些开源库

想要快速完成一个Python项目,离不开这些开源库

链接:https://opensource.com/article/18/9/python-libraries-side-projects

在Python / Django世界中有一句话:我们为语言而来,为社区而留。对我们大多数人来说,这是事实,但让我们置身于Python世界的另一个原因是,我们很容易就有了一个想法,并且可以几个小时内让这个想法快速实现。

本文我们将深入研究我们喜欢使用的Python库:

 

 

1、要动态保存数据库中的数据:Dataset

 

python中非常好用的数据库管理工具dataset,当我们想要快速地收集数据并将其保存到数据库中,而不知道最终的数据库表是什么样子时,Dataset就是我们的首选库。Dataset有一个简单而强大的API,可以轻松地将数据放入其中,并在稍后对其进行排序。

 

Dataset构建在SQLAlchemy之上,因此扩展它不会让你感觉到陌生。使用Django的内置inspectdb管理命令将底层数据库模型轻松导入Django。这使得使用现有数据库变得非常轻松。(官方文档:http://dataset.readthedocs.io/en/latest/)

 

 

2、从网页中提取数据:Beautiful Soup

 

Beautiful Soup使从HTML页面中提取信息变得很容易。当我们需要将非结构化或松散结构的HTML转换为结构化数据时,它就是是我们的首选。它还非常适合处理XML数据,否则这些数据可能无法读取。(项目地址:https://github.com/icodeu/BeautifulSoup)

 

 

3、处理HTTP内容:Requests

 

Requests是一个 Python 的 HTTP 客户端库,可以说是处理HTTP内容的黄金标准库之一。每当我们需要使用HTML页面甚至API时,Requests就会出现。它也有很好的记录。(项目地址:https://github.com/requests/requests)

 

 

4、编写命令行:Click

 

Python中强大的命令行库,在我们需要编写本机Python脚本时,Click是我们最喜欢的用于编写命令行实用程序的库。这个API很简单,只需要记住一些模式就行,文档很好用,它使得查找高级特性变得很容易。(官网镜像地址:http://click.uoota.com/6/)

 

 

5、Python Slugify

 

众所周知,给事物命名是很困难的。Python Slugify是一个很有用的库,可以将标题或描述转换为唯一的(ish)标识符。如果你正在处理一个web项目,并且希望使用seo友好的url, Python Slugify将会给你极大的帮助。(项目地址:https://github.com/un33k/python-slugify)

 

 

6、Pluggy

 

Pluggy相对较新,但它也是向现有应用程序添加插件系统中最好和最简单的方法之一。(项目地址:https://github.com/pytest-dev/pluggy)

 

 

 

7、要将CSV文件转换为API:Datasette

 

Datasette是一个神奇的工具,可以轻松地将CSV文件转换为功能齐全的只读REST JSON api。Datasette有很多功能,包括图表和地理位置(用于创建交互式地图),通过容器或第三方web主机很容易部署。(项目地址:https://github.com/simonw/datasette)

 

 

8、处理环境变量:Envparse

 

如果因为不想在源代码中保存API键、数据库凭证或其他敏感信息而需要解析环境变量,那么envparse就是最好的选择之一。Envparse处理环境变量、ENV文件、变量类型,甚至前处理器和后处理器(例如你希望确保变量总是大写或小写)。(项目地址:https://github.com/rconradharris/envparse)

 

你最喜欢的库有在这个列表里面么?留言分享给大家。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112876.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • javascript 数组求和_javascript数组的定义

    javascript 数组求和_javascript数组的定义eval()函数可计算某个字符串,并执行其中的的JavaScript代码。语法eval(string)string必须是一个合法的表达式和语句,否则抛出异常示例leta=[1,2,3,4,5,6,7,8,9]console.log(eval(a.join(‘+’)))//45console.log(eval(“x=10;y=20…

  • resharper 激活码【2021免费激活】

    (resharper 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

  • mysql前缀索引的索引选择性

    mysql前缀索引的索引选择性mysql前缀索引的索引选择性一.基础概念在mysql中建立前缀索引的意义在于相对于整列建立索引,前缀索引仅仅是选择该列的部分字符作为索引,减少索引的字符可以节约索引空间,从而提高索引效率,但这样也会降低索引的选择性关于索引的选择性,它是指不重复的索引值(也称为基数cardinality)和数据表的记录总数的比值,范围从1/(数据表记录总数)到1之间。索引的选择性越高则查询效率越高,因为选

  • JMESPath_英语语法整理

    JMESPath_英语语法整理前言JMESPath是JSON的查询语言。您可以从JSON文档中提取和转换元素官方文档:https://jmespath.org/tutorial.html基本表达式JMESPath用的最多的

  • 多线程notify notifyall_线程wait和notify使用

    多线程notify notifyall_线程wait和notify使用涉及JAVA线程的状态问题,不清楚的可以参考我的另一篇:https://blog.csdn.net/q5706503/article/details/84350887我们知道notify是Object的本地final方法,无法被重写,用来唤醒线程,那么该怎么用,唤醒的又是谁呢?用一句话做答复:notify唤醒的是其所在锁所阻塞的线程不理解看下面的分析和例子:wait…

  • python的特点和优势_Java与Python异同

    python的特点和优势_Java与Python异同Python介绍Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号