PyHubWeekly | 第八期:5款Python小工具,第3款彻底解放你的双手

简介: PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。我把PyHubWeekly托管到了Github,感兴趣的可以搜索Github项目PyHubWeekly[1],如果喜欢,麻烦给个Star支持一下吧。此外,欢迎大家通过提交issue来投稿和推荐自己的项目~

newscatcher

Star:719

newscatcher[2]获取新闻资讯的工具包,它时刻监控者成千上万个新闻媒体并对其进行聚合,它包含丰富的API接口,开发者可以通过时间新闻源关键字等方式来获取新闻资讯。

也许会有同学疑惑,我们已经有这么多新闻软件,这个工具有什么价值呢?

第一:对于我们常用的新闻软件,具体怎么样,我想应该都很清楚,质量参差不齐,而且广告繁多。所以,首先,我们可以通过newscatcher这个工具包获取我们想要的新闻资讯。

第二:它提供了丰富的数据源,假如你喜欢做金融数据分析,仅凭股票等这些量化的数据是很难得到很理想的分析结果,它往往受到政策和事件的影响,所以,这时候就需要一些非结构化的数据区辅助分析。而新闻,在其中就是一种非常有价值的非结构化数据。

安装:

pip install newscatcher

使用:

from newscatcher import Newscatcher
from newscatcher import get_news
from newscatcher import get_headlines
news_source = Newscatcher('blackfaldslife.com')
news = get_news('wired.co.uk')
headlines = get_headlines('wired.co.uk')

pycodestyle

Star:4k

pycodestyle[3]是根据PEP 8中的样式约定检查Python代码的工具,它具有如下特性,

添加新代码检查很容易快速跳转到错误位置轻量化带有全面的测试套件

安装:

pip install pycodestyle
pip install --upgrade pycodestyle
pip uninstall pycodestyle

使用:

可以直接在命令行调用pycodestyle,通过各种选项可以实现不同的功能,例如,统计错数数量、显示PEP8相关提示,下面看一个示例

# E40.py
import os, sys

然后对其进行代码检查,

E40.py:1:10: E401 multiple imports on one line
import os, sys
         ^
    Place imports on separate lines.
    Okay: import os\nimport sys
    E401: import sys, os
    Okay: from subprocess import Popen, PIPE
    Okay: from myclas import MyClass
    Okay: from foo.bar.yourclass import YourClass
    Okay: import myclass
    Okay: import foo.bar.yourclass

pywinauto

Star:2k

在上一期我介绍了一款网页自动化工具helium,它能够实现网页端的很多重复性工作,的确大大提高了工作效率。

如果你的工作、学习内容不仅限于网页端、如果helium还不能满足你高效工作的需求。那么,pywinauto一定可以做到。

pywinauto[4]是一款实现Windows GUI自动化的Python工具,它可以将鼠标和键盘操作发送到Windows对话框和控件。此外,它还支持更复杂的操作,例如获取文本数据。

安装:

pip install -U pywinauto

使用:

先写一段演示代码,

from pywinauto.application import Application
app = Application().start("notepad.exe")
app.UntitledNotepad.menu_select("帮助->关于记事本")
app.UntitledNotepad.Edit.type_keys("pywinauto Works!", with_spaces = True)

26.gif

real-url

Star:256

real-url[5]是一款解析流媒体直播源的Python工具包,目前支持21个直播平台:斗鱼直播、虎牙直播、哔哩哔哩直播、战旗直播、网易CC直播、火猫直播、企鹅电竞、YY直播、一直播、快手直播、花椒直播、映客直播、西瓜直播、触手直播、NOW直播、抖音直播,爱奇艺直播、酷狗直播、龙珠直播、PPS奇秀直播、六间房。

获取直播源地址之后可以在PotPlayer、VLC、flv.js等播放器进行播放。

使用:

可以直接从github下载代码zip包或者克隆代码,然后再命令行下执行对应的脚本即可。

不同的脚本对应不同的平台,例如,douyin.py对应抖音,douyu.py对应斗鱼,也就是说,我们需要哪个平台的直播源,就执行拼音对应的脚本即可。

当执行命令python [script.py]后,可以输入直播房间号或者链接即可获取直播链接,然后再PotPlayer打开链接即可。

下面看一下演示,

27.gif


docopt

Star:7k

docopt[6]是一款Python风格的命令行参数解析工具,它通过解析Python文件开头的注释文档来解析命令行参数格式。这样的方便之处是能够实现业务代码与命令行参数模块分开,但是,对注释__doc__的格式要求也比较严格。

示例,

"""
Naval Fate.
Usage:
  naval_fate ship new <name>...
  naval_fate ship <name> move <x> <y> [--speed=<kn>]
  naval_fate ship shoot <x> <y>
  naval_fate mine (set|remove) <x> <y> [--moored|--drifting]
  naval_fate -h | --help
  naval_fate --version
Options:
  -h --help     Show this screen.
  --version     Show version.
  --speed=<kn>  Speed in knots [default: 10].
  --moored      Moored (anchored) mine.
  --drifting    Drifting mine.
"""
from docopt import docopt
if __name__ == '__main__':
    arg = docopt(__doc__, argv=None, help=True, version=None, options_first=False)
    print(arg)

然后在命令行执行命令就可以看到docopt通过注释文档解析的参数,

> test.py ship Guardian move 100 150 --speed=15
{'--drifting': False,
 '--help': False,
 '--moored': False,
 '--speed': '15',
 '--version': False,
 '<name>': ['Guardian'],
 '<x>': '100',
 '<y>': '150',
 'mine': False,
 'move': True,
 'new': False,
 'remove': False,
 'set': False,
 'ship': True,
 'shoot': False}
相关文章
|
2天前
|
程序员 开发者 Python
Python中的装饰器:优雅而强大的函数修饰工具
在Python编程中,装饰器是一种强大的工具,它可以简洁地实现函数的增强、扩展和重用。本文将深入探讨Python中装饰器的工作原理、常见应用场景以及如何自定义装饰器,帮助读者更好地理解和运用这一重要的编程概念。
|
3天前
|
SQL 物联网 关系型数据库
sqlmap工具的使用 (超详细附工具版)_python sqlmap
sqlmap工具的使用 (超详细附工具版)_python sqlmap
|
5天前
|
SQL 测试技术 网络安全
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
29 0
|
5天前
|
前端开发 文件存储 Python
python之xhtml2pdf: HTML转PDF工具示例详解
python之xhtml2pdf: HTML转PDF工具示例详解
13 0
|
5天前
|
Python
Python 中的异常处理机制是一种强大的错误处理工具
【5月更文挑战第8天】Python的异常处理机制借助try/except结构管理错误,提高程序健壮性。异常是中断正常流程的问题,可由多种原因引发。基本结构包括try块(执行可能出错的代码)和except块(处理异常)。通过多个except块可捕获不同类型的异常,finally块确保无论是否异常都执行的代码。此外,raise语句用于主动抛出异常,自定义异常通过继承Exception类实现。with语句配合上下文管理器简化资源管理并确保异常情况下资源正确释放。
21 2
|
5天前
|
缓存 开发者 Python
《Python中的装饰器:优雅而强大的代码增强工具》
在现代软件开发中,Python语言的灵活性和简洁性备受推崇。其中,装饰器作为一种强大的代码增强工具,为Python开发者提供了优雅的解决方案。本文将深入探讨装饰器的原理、用法以及实际应用场景,帮助读者更好地理解和运用这一技术。
|
5天前
|
Shell 定位技术 开发工具
[oeasy]python0015_键盘改造_将esc和capslock对调_hjkl_移动_双手正位
[oeasy] python0015_键盘改造_将 esc 和 capslock 对调_hjkl_移动_双手正位
19 3
|
5天前
|
域名解析 JSON API
Python小工具包
【5月更文挑战第2天】构建了一个Python小工具包,包含获取IP、域名解析、JSON格式化和时间戳转换的函数。通过`get_ip_address`和`resolve_domain`实现网络任务,`format_json`用于美化JSON数据,`timestamp_to_datetime`转换时间戳。这些函数可提高开发效率,易于整合到项目中,展现Python的简洁和灵活性。
38 1
Python小工具包
|
5天前
|
机器学习/深度学习 边缘计算 TensorFlow
【Python机器学习专栏】Python机器学习工具与库的未来展望
【4月更文挑战第30天】本文探讨了Python在机器学习中的关键角色,重点介绍了Scikit-learn、TensorFlow和PyTorch等流行库。随着技术进步,未来Python机器学习工具将聚焦自动化、智能化、可解释性和可信赖性,并促进跨领域创新,结合云端与边缘计算,为各领域应用带来更高效、可靠的解决方案。
|
5天前
|
数据可视化 API Python
Python绘图工具seaborn,教会你如何绘制更加精美的图形(二)
Python绘图工具seaborn,教会你如何绘制更加精美的图形(二)