想要快速完成一个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)

 

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • listnode.val java(string indexof方法)

    ListNode是由自己定义的java中的链表对象类结构如下publicclassListNode{intval;ListNodenext;publicListNode(intx){val=x;}}初始化时必须传值有一列1.给出Input:(2->4->3)+(5->6->4)要求Output:7->0->…

    2022年4月17日
    65
  • Windows技术篇——进程、线程、消息机制进程间通信[通俗易懂]

    Windows技术篇——进程、线程、消息机制进程间通信[通俗易懂]概念192.168.0.1–192.168.0.255一、进程状态1、创建状态:进程由创建而产生。2、就绪状态:指进程已准备好运行状态,即进程已分配到除CPU以外所有的必要资源后,只要再获得CPU,合可立即执行。(有执行资格,没有执行权的进程)3、运行状态:指进程已经获取CPU,其进程处于正在执行的状态。(既有执行资格,又有执行权的进程)4、阻塞状态:指正在执行的进程由于发生某事件(如…

    2022年8月18日
    14
  • mybatis 数据权限插件_mybatis查询大量数据

    mybatis 数据权限插件_mybatis查询大量数据数据权限管理中心由于公司大部分项目都是使用mybatis,也是使用mybatis的拦截器进行分页处理,所以技术上也直接选择从拦截器入手需求场景第一种场景:行级数据处理原sql:selectid,username,regionfromsys_user;需要封装成:select*from(selectid,username,regionfromsys_user)wh…

    2025年9月1日
    8
  • AssemblyInfo.cs文件的作用

    AssemblyInfo.cs文件的作用

    2021年12月14日
    41
  • 百度面试题

    百度面试题1.一个int数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。这道题的解答请看下一篇日志2.一个文件,内含一千万行字符串,每个字符串在1K以内,要求找出所有相反的串对,如abc和

    2022年7月15日
    24
  • 一个java代码生成器的简单实现

    一个java代码生成器的简单实现最近,一直跟着公司技术牛人在搞大数据相关的东西,主要涉及的是环境搭建,同时也了解下整个hadoop生态系统相关的东西,真是让我大开眼界,这个在之后的博文中再来与大家分享。今天,笔者给大家介绍一个代码生成器,这个是笔者的主管写的,写的确实不错,主要是基于公司的jqueryeasyUI+springMVC+myBatis这套框架写的,可以根据一个数据库表生成model、mapper.xml

    2022年6月12日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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