社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

9个助你提升效率的Python模块

Crossin的编程教室 • 5 月前 • 99 次点击  

入门教程、案例源码、学习资料、读者群

请访问: python666.cn


大家好,欢迎来到 Crossin的编程教室 !

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

1 Faker生成假数据

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

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

基本用法如下所示:

from faker import Fakerfake = 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 datetimeimport 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函数公开了两个参数:countname。最后,在命令行,直接这样调用脚本:

python click_hello.py --count=5

最后打印:

输入你的名字:: zhenguoHello 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 Flaskfrom 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 requestsimport 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)\Google\Chrome\chromedriver.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组合在一起,然后直接从命令行访问它们,这对于加快重复的图像处理任务非常有用。

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

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('未能加载图像')

作者:zhenguo

来源:程序员郭震zhenguo



Crossin的第2本书码上行动:利用Python与ChatGPT高效搞定Excel数据分析 已经上市了

点此查看上一本《码上行动:零基础学会Python编程》介绍

本书从 Python 和 Excel 结合使用的角度讲解处理分析数据的思路、方法与实战应用。不论是希望从事数据分析岗位的学习者,还是其他职业的办公人员,都可以通过本书的学习掌握 Python 分析数据的技能。书中创新性地将 ChatGPT 引入到教学当中,用 ChatGPT 答疑并提供实训代码,并介绍了使用 ChatGPT 辅助学习的一些实用技巧,给学习者带来全新的学习方式。


读者朋友们购买后可在后台联系我,加入读者交流群,Crossin会为你开启陪读模式,解答你在阅读本书时的一切疑问。

感谢转发点赞的各位~


_往期文章推荐_

超好用的f-string
将Py版羊了个羊打包成exe文件



【教程】: python

【答疑】: 666
更多资源请在公众号内搜索或留言
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/164948
 
99 次点击