Python 是编程领域中最常用的编程语言之一,也是初学者的优秀选择之一。Python 吸引人们的地方在于它的简单性和易用的语法。是一个直译语言,所以它变得更容易发现代码中的错误。它是由 Guido van Rossum 开发的,并于1991年首次发布,从那时起,Python 开发者社区的人数与日俱增,人数众多。根据一些资源,python 有一个超过1000万人的社区。谷歌、亚马逊、 Facebook 等数十亿家公司都在使用它。
在过去的一年半里我一直在使用 Python,我最喜欢 Python 的地方是它的 One-Liners 和 Packages,这也是我选择 Python 而不是其他语言的原因。
在本博客中,我将向您介绍20个非常有用的 Python 库,您必须尝试它们。让我们开始吧。
1. Colorama
Colorama 是一个用来使你的终端看起来更好 Python 库,它可以用来给终端添加颜色。
安装:pip install colorama
示例
2. Pynput
此库用于控制鼠标和键盘等外部设备的瞬间。使用一些简单的代码行,我们可以使用库来控制键盘和鼠标。此库的优秀应用程序是使用它创建一个键盘记录程序。下面的代码解释了使用库的键盘记录器的实现。
安装:pip install Pynput
- from pynput.keyboard import Key, Controller,Listener
- import time
- keyboard = Controller()
- keys=[]
- def on_press(key):
- global keys
- string = str(key).replace("'","")
- keys.append(string)
- main_string = "".join(keys)
- print(main_string)
- if len(main_string)>15:
- with open('keys.txt', 'a') as f:
- f.write(main_string)
- keys= []
- def on_release(key):
- if key == Key.esc:
- return False
- with Listener(on_press=on_press,on_release=on_release) as listener:
- listener.join()
3. progress 和 tqdm
Progress:使用这个库,我们可以轻松地创建一个进度条。
安装:pip 安装进度
- from progress.bar import Bar
- bar = Bar('Loading', max=20)
- for i in range(20):
- # Any Task
- bar.next()
- bar.finish()
下面的动画显示了我们可以使用进度创建不同的条形图。
tqdm:它也做类似的工作,但是看起来更有效率,并且与现代编程保持同步。
安装:pip install tqdm
4. google trans
Googletrans 是一个免费的无限制的 python 库,它是 Google 翻译 API 的一个实现。使用这个库,只需要几行代码就可以创建一个语言翻译器。
安装:pip install googletrans
- from googletrans import Translator , LANGUAGES
- from googletrans.models import Translated
- language = list(LANGUAGES.values())
- translator = Translator()
- translated=translator.translate(text="How are You??", src = 'english', dest = 'hindi')
- print(translated)
您还可以进一步创建一个 GUI,将一种语言翻译成另一种语言。
5. google
谷歌库允许你搜索一个查询,找到相关的链接,并返回所有的链接。我们还可以自定义要返回的链接数量。
安装:pip install google
- from googlesearch import search
- query = 'what is machine learning?'
- for j in search(query, tld="co.in", num=1, stop=5, pause=2): ## it will return a total of 5 links
- print(j)
6. Pillow
Pillow 是一个用于图像处理的 python 库。它可以用来创建缩略图,转换文件格式,旋转,应用过滤器,显示图像,等等。如果您希望批量执行任务,那么它是一个理想的库。
安装:pip install pillow
为了快速了解这个库,下面是一些代码,您可以显示一个图像并将其更改为灰度。
- from PIL import Image, ImageOps
- img1 = Image.open("img.png") ## Load a imge
- img1.show()
- img2 = ImageOps.grayscale(img1) ## gray scale
- img2.show()
原始图像向灰度的转换
7. wikipedia
Wikipedia 库允许我们通过 Python 脚本与 Wikipedia 进行交互。通过这个,我们可以在终端上搜索任何东西。
安装:pip install wikipedia
- import wikipedia
- query = 'Narendra Modi'
- results = wikipedia.summary(query, sentences=2) ## change the number of sentence to get a larger words summary
- print(results)
8. SpeechRecognition
SpeechRecognition 是一个用于识别语音并将其转换为文本的 Python 库。它在几个引擎和 api 的支持下识别语音。它甚至可以在离线模式下工作。
安装:pip install SpeechRecognition
下面的代码可以识别您的声音,将其转换成文本,然后在终端上打印出来。
- import speech_recognition as sr
- r = sr.Recognizer()
- with sr.Microphone() as source:
- t_end = time.time() + 5
- while time.time() < t_end:
- print("karl: Listening...")
- audio=r.listen(source)
- try:
- query = r.recognize_google(audio)
- print(f"user:{query}")
- except"
- print("Try Again")
9. IPython
这个库为我们提供了在终端、 Qt 控制台和通过 HTML 笔记本使用 IPython shell 的特性。这是三星笔记本的核心。你可以在这里找到完整的文档。下面我列出了一些 IPython 的特性。
- 全面的对象自省
- 输入历史记录,跨会话持久化
- 在使用自动生成的引用的会话期间缓存输出结果
- 可扩展选项卡完成,默认支持完成 Python 变量和关键字、文件名和函数关键字
- 可扩展的“magic”命令系统,用于控制环境和执行与 IPython 或操作系统相关的许多任务
- 会话日志记录和重载
- 针对特殊情况的可扩展语法处理
- 使用用户可扩展别名系统访问系统 shell
- 很容易嵌入到其他 Python 程序和 GUI 中
- 调试器和 Python 分析器的集成访问
10. wxpython
wxPython 是一个用于 python 的 GUI 工具包。它是许多计算机软件的强大包装器,可以在各种不同的平台上实现。它是一个跨平台的库。许多开发人员发现 wxPython 作为 Tkinter 的优质替代品非常有效。
11. Poetry
这是一个简单易用的 Python 软件包。它允许您管理 Python 打包和项目的版本控制。虽然你的项目依赖于许多库,但是 Poetry 可以让你很容易地控制它们。
安装:pip install poetry
12. Pygame
Pygame 是许多 python 开发人员的最爱。它用于使用 Python 创建游戏。它是一个跨平台的库,几乎可以在每个平台上使用。尽管它是一个成熟的游戏引擎,但您也可以使用这个库直接从 Python 脚本播放 MP3文件。它由计算机图形学和声音库组成。
在 PyGame 上编写的游戏和应用程序与所有 SDL 支持的操作系统兼容。它们也可以在机器人和平板电脑上运行。
安装:pip install pygame
PyGame 有自己的网站 PyGame. org,其中包括教程和安装说明。
13. Text Blob
TextBlob 是一个用于处理文本数据的 Python 库。它提供了一个简单的 API,用于深入研究常见的自然语言处理(NLP)任务,如词性标注、名词短语提取、情感分析、分类、翻译等。
安装:pip install textblob
- from textblob import TextBlob
- testimonial = TextBlob("Textblob is amazingly simple to use. What great fun!")
- testimonial.sentiment
14. OpenCV
OpenCV 是计算机视觉领域很受欢迎的库。它最初是用 C 和 C++ 编写的。现在也可以在 Python 中使用。它最初是由英特尔开发的。该库是一个跨平台的开源库。免费使用。OpenCV 是一个高度优化的库,主要关注实时应用程序。
安装:pip install opencv-python
15. win10 toast
它是一个易于使用的 Python 库,用于显示 Windows 10 Toast Notifications,这对于 Windows GUI 开发非常有用。
安装:pip install win10toast
应用:创建提醒应用程序
- from win10toast import ToastNotifier
- toaster = ToastNotifier()
- header = 'Medium Article'
- text = 'Its the correct time to start writing your article'
- toaster.show_toast(f"{header}",f"{text}",duration=10,threaded=True)
- while toaster.notification_active(): time.sleep(0.005)
16. playsound
顾名思义,这个库用于在 Python 中播放音频文件。
安装:pip install playsound
应用: 使用 Python 创建音乐播放器
- from playsound import playsound
- playsound('PATH_TO_AUDIO_FILE')
17. webbrowser
这个 Python 包用于与网络浏览器交互。它用于在用户从命令行给出的浏览器中打开不同的链接。
安装:pip install webbrowser
应用:自动化你的日常工作应用
- import webbrowser
- webbrowser.open("https://stackoverflow.com")
18. Python-dateutil
这个 Python 库是 Python datetime 模块的扩展,它提供了大量的特性和功能。
安装:pip install python-dateutil
- from dateutil.relativedelta import *
- from dateutil.easter import *
- from dateutil.rrule import *
- from dateutil.parser import *
- from datetime import *
- now = parse("Tue 11 17:13:46 Dec UTC 2020")
- today = now.date()
- year = rrule(YEARLY,dtstart=now,bymonth=8,bymonthday=13,byweekday=FR)[0].year
- rdelta = relativedelta(easter(year), today)
- print("Today is: %s" % today)
19. Setuptools
这个 Python 库是 Python 中所有库的父类,它用于在 Python 中创建库。
安装:pip install setuptools
20. pyfiglet
Pyfiglet Python 库用于在终端中编写时髦的文本。这是我在创建 CLI 应用程序是最喜欢使用的软件包之一。
安装:pip install pyfiglet