您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > Python

这9个提高效率的Python工具,太赞了

时间:2021-12-14 11:12:22  来源:  作者:程序员zhenguo

最近汇总了平时常用到的9个很好的Python/ target=_blank class=infotextkey>Python工具,它们能极大的提高我们的工作效率,安装它们,然后逐步熟练使用它们。若有用,可以收藏这篇文章。

1 Faker生成假数据

你若还在为生成名字、地址、IP地址而发愁,试试Faker库吧。

它是专业生成假数据的神器,但生成的数据看起来又如此“不假”。

基本用法如下所示:

from faker import Faker
fake = Faker(locale="zh_CN")
    
fake.name()
# '谭柳'
    
fake.address()
# '江西省关岭县新城赵街Y座 630814'
     
fake.text()
'怎么作者地区.投资报告企业内容责任发展来源资料.一下自己一次全部社区.n今天非常由于开发谢谢.其中大家组织游戏.n只有最新控制同时计划学校.分析记者价格方式.n成功可能感觉方式包括手机.中国重要这种比较必须中心我的.n公司很多安全类别威望一种.标题部门全国文件日本帖子积分不同.n工程这个其中销售历史可以.对于感觉全国发生国内不是.单位用户新闻成为.留言本站说明报告工作继续.'

2 Pendulum管理时间

使用日期和时间格式从来都不是一件有趣的事情。

尽管内置的datetime模块做得相当不错,但有一个更直观的Pendulum,能做到快速处理。

它支持时区转换、日期、时间操作和格式设置。

如下是一个快速示例,快速创建1个上海时区的时间:

from datetime import datetime
import pendulum
    
sh = pendulum.timezone('Asia/Shanghai')
shc = pendulum.now()
print('Current Date Time in sh =', shc)
# DateTime(2021, 12, 9, 16, 38, 52, 599942, tzinfo=Timezone('Asia/Shanghai'))

shc.add(years=1)
# DateTime(2022, 12, 9, 16, 38, 52, 599942, tzinfo=Timezone('Asia/Shanghai'))

3 Scrapy 做爬虫

Scrapy是一个强大的工具,可以让你从网站上快速提取信息。

当需要从多个网站或网页中提取大量信息时,手动提取是低效的。

Scrapy提供了易于使用的方法和包,可以使用html标记或css类提取信息。通过以下命令安装scrapy:

pip install scrapy

然后直接在终端输入下面一行代码,

 scrapy fetch --nolog https://baidu.com

就能得到百度的首页html内容。

4 使用Pandas数据分析

Pandas是一个简单但功能强大的数据分析工具。使用它可以进行数据清洗,并对其进行统计分析。

分析完数据后,还可以使用外部库(如[Matplotlib])将其可视化(
https://github.com/matplotlib/matplotlib).

Pandas最棒的地方是它建在NumPy上面,NumPy是一个强大的数据分析工具,因为Pandas基于它,所以这意味着大多数NumPy方法都是Pandas中已有的函数。

5 click命令行工具

click是一个Python包,可用于创建命令行接口,相当漂亮的命令行,相当丝滑。

让我们看一个例子:

"""
click 模块演示
"""


@click.command()
@click.option('--count', default=3)
@click.option('--name', prompt='输入你的名字:')
def hello(count, name):
    for x in range(count):
        print(f"Hello {name}!")


if __name__ == "__main__":
    hello()

hello函数公开了两个参数:count和name。最后,在命令行,直接这样调用脚本:

python click_hello.py --count=5

最后打印:

输入你的名字:: zhenguo
Hello zhenguo!
Hello zhenguo!
Hello zhenguo!
Hello zhenguo!
Hello zhenguo!

6 微web框架Flask

需要设置web服务器吗?

你有两秒钟的时间吗?因为这就是用Python启动简单web服务器所需的时间,直接下面一行代码:

python -m http.server 8000

但对于一个基本的web应用程序来说,这可能太简单了。Flask是一个用Python构建的微web框架。它是“微型”的,因为它没有任何数据库抽象层、表单验证或邮件支持。

幸运的是,它有大量的扩展,可以即插即用,如果只想提供一个简单的API,那么它就是完美的。

要使用Flask创建API服务器,请使用以下脚本:


from flask import Flask
from flask import jsonify

App = Flask(__name__)


@app.route('/')
def root():
    return jsonify(
        app_name="zhenguo的小工具",
        app_user="zhenguo"
    )

使用下面一行代码启动服务:

FLASK_APP=flask.py flask run   

最后,当您在浏览器中访问URLhttp://127.0.0.1:5000/时,

应该会看到以下JSON:

{"app_name":"zhenguo的小工具","app_user":"zhenguo"}

7 API请求Requests

Requests是一个强大的HTTP库。有了它,可以自动化任何与HTTP请求相关的操作,包括API自动化调用,这样你就不必再手动进行调用。

它附带了一些有用的特性,如授权处理、JSON/XML解析和会话处理。

如下获取明文地址:北京市海淀区清华东路35号,对应的经纬度时,使用百度地图接口,免费注册得到一个apk,返回经纬度结果如下所示:

import requests
import re

rep = requests.get(
    'https://api.map.baidu.com/geocoding/v3/?address=北京市海淀区清华东路35号&output=json&ak=你的apk&callback=showLocation')
print(re.findall(r'"lng":(.*),"lat":(.*?)}', rep.text))

# 结果显示    
[('116.35194130702107', '40.00664192889596')]

8 自动化测试Selenium

Selenium是一个编写自动化测试用例的测试框架。

尽管它是用JAVA编写的,Python包提供对几乎所有Selenium函数的类似API的访问。

Selenium通常用于自动化应用程序UI的测试,但您也可以使用它自动化机器上的任务,如打开浏览器、拖放文件等。

看一个快速示例,演示如何打开浏览器并访问百度主页:

from selenium import webdriver 
import time 
      
browser = webdriver.Chrome(executable_path ="C:Program Files (x86)googleChromechromedriver.exe") 
      
website_URL ="https://baidu.com/"
brower.get(website_URL) 
    
refreshrate = int(15) 
      
# 一直保持运行
while True: 
    time.sleep(refreshrate) 
    browser.refresh() 

现在,该脚本每15秒刷新浏览器中的百度主页。

9 图像处理Pillow

很多时候,需要以某种方式修改图像,使其更适合,例如模糊细节、组合一个或多个图像或创建缩略图。

将自制的Pillow脚本与Click组合在一起,然后直接从命令行访问它们,这对于加快重复的图像处理任务非常有用。

这9个提高效率的Python工具,太赞了

 

看一个模糊图像的快速示例:

这9个提高效率的Python工具,太赞了

 

from PIL import Image, ImageFilter
    
try:
    original = Image.open("python-logo.png")
    
    # Blur the image
    blurred = original.filter(ImageFilter.BLUR)
    
    # Display both images
    original.show()
    blurred.show()
    
    blurred.save("blurred.png")
    
except:
    print('未能加载图像')

如果觉得以上9个工具有用,可以收藏点赞支持。

 

我习惯把自己工作多年的学习笔记沉淀在这个网站,给你学习提供点参考

http://www.zglg.work/



Tags:Python工具   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
下午摸鱼的功夫,汇总了常用到的9个Python工具,安装使用,逐步熟练。若有用,可以收藏这篇文章。 1 Faker生成假数据你若还在为生成名字、地址、IP地址而发愁,试试Faker库吧。它是专...【详细内容】
2022-05-30  Tags: Python工具  点击:(59)  评论:(0)  加入收藏
最近汇总了平时常用到的9个很好的Python工具,它们能极大的提高我们的工作效率,安装它们,然后逐步熟练使用它们。若有用,可以收藏这篇文章。1 Faker生成假数据你若还在为生成名字...【详细内容】
2021-12-14  Tags: Python工具  点击:(139)  评论:(0)  加入收藏
如果您想使用甚至掌握数据分析技能的话,Python一定是您的最佳选择。它不但容易被学习,而且具有广泛且活跃的社区支持。目前,大多数数据科学库、以及机器学习框架,都能够提供Pyth...【详细内容】
2021-07-29  Tags: Python工具  点击:(145)  评论:(0)  加入收藏
你是否运行过for循环并希望在for循环内的代码中添加更多详细信息?你可能会决定不这样做,因为添加更多详细信息意味着需要停止代码并重新运行所有内容。代码已经运行了几个小...【详细内容】
2021-05-18  Tags: Python工具  点击:(366)  评论:(0)  加入收藏
工欲善其事必先利其器,一个好的工具能让起到事半功倍的效果,Python社区提供了足够多的优秀工具来帮助开发者更方便的实现某些想法,下面这几个工具给我的工作也带来了很多便利,推...【详细内容】
2020-05-15  Tags: Python工具  点击:(96)  评论:(0)  加入收藏
▌简易百科推荐
近几年 Web3 被炒得火热,但是大部分人可能还不清楚什么是 Web3,今天就让w3cschool编程狮小师妹带你了解下 Web3 是什么?与我们熟知的 Web1 和 Web2 又有什么区别呢?web3.0什么是...【详细内容】
2022-07-15  编程狮W3Cschool    Tags:Web3.0   点击:(2)  评论:(0)  加入收藏
1、让我们一起来看下吧,直接上图。 第一眼看到是不是觉得很高逼格,暗黑画风,这很大佬。其实它就是------AidLearning。一个运行在安卓平台的linux系统,而且还包含了许多非常强大...【详细内容】
2022-07-15  IT智能化专栏    Tags:AidLearning   点击:(2)  评论:(0)  加入收藏
真正的大师,永远都怀着一颗学徒的心! 一、项目简介 今天说的这个软件是一款基于Python+vue的自动化运维、完全开源的云管理平台。二、实现功能 基于RBAC权限系统 录像回放 ...【详细内容】
2022-07-14  菜鸟程序猿    Tags:Python   点击:(3)  评论:(0)  加入收藏
前言今天笔者想和大家来聊聊python接口自动化的MySQL数据连接,废话不多说咱们直接进入主题吧。 一、什么是 PyMySQL?PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,P...【详细内容】
2022-07-11  测试架构师百里    Tags:python   点击:(19)  评论:(0)  加入收藏
aiohttp什么是 aiohttp?一个异步的 HTTP 客户端\服务端框架,基于 asyncio 的异步模块。可用于实现异步爬虫,更快于 requests 的同步爬虫。安装pip install aiohttpaiohttp 和 r...【详细内容】
2022-07-11  VT漫步    Tags:aiohttp   点击:(15)  评论:(0)  加入收藏
今天我们学习下 Queue 的进阶用法。生产者消费者模型在并发编程中,比如爬虫,有的线程负责爬取数据,有的线程负责对爬取到的数据做处理(清洗、分类和入库)。假如他们是直接交互的,...【详细内容】
2022-07-06  VT漫步    Tags:Python Queue   点击:(34)  评论:(0)  加入收藏
继承:是面向对象编程最重要的特性之一,例如,我们每个人都从祖辈和父母那里继承了一些体貌特征,但每个人却又不同于父母,有自己独有的一些特性。在面向对象中被继承的类是父类或基...【详细内容】
2022-07-06  至尊小狸子    Tags:python   点击:(25)  评论:(0)  加入收藏
点击上方头像关注我,每周上午 09:00准时推送,每月不定期赠送技术书籍。本文1553字,阅读约需4分钟 Hi,大家好,我是CoCo。在上一篇Python自动化测试系列文章:Python自动化测试之P...【详细内容】
2022-07-05  CoCo的软件测试小栈    Tags:Python   点击:(27)  评论:(0)  加入收藏
第一种方式:res = requests.get(url, params=data, headers = headers)第二种方式:res = requests.get(url, data=data, headers = headers)注意:1.url格式入参只支持第一种方...【详细内容】
2022-07-05  独钓寒江雪之IT    Tags:Python request   点击:(19)  评论:(0)  加入收藏
什么是python类的多态python的多态,可以为不同的类实例,或者说不同的数据处理方式,提供统一的接口。用比喻的方式理解python类的多态比如,同一个苹果(统一的接口)在孩子的眼里(类实...【详细内容】
2022-07-04  写小说的程序员    Tags:python类   点击:(28)  评论:(0)  加入收藏
站内最新
站内热门
站内头条