× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Python Standard Library Gems: Các package ít được biết đến nhưng hữu ích đi kèm với Python

17/12/2022 01:22

Các gói về cơ bản là mã Python đã hoàn thành (các lớp, hàm, v.v.) mà bạn có thể sử dụng trong các dự án của mình. Chúng thường nằm trong một thư mục cụ thể trong môi trường của bạn

Các gói về cơ bản là mã Python đã hoàn thành (các lớp, hàm, v.v.) mà bạn có thể sử dụng trong các dự án của mình. Chúng thường nằm trong một thư mục cụ thể trong môi trường của bạn. Bạn có thể tạo các gói Python tùy chỉnh của riêng mình hoặc tải xuống nhiều gói Python tuyệt vời và miễn phí từ KHO LƯU TRỮ CHÍNH THỨC CỦA PYPI .   

Trước khi đi xa hơn, cần phải đề cập rằng sự khác biệt giữa mô-đun, gói, thư viện và khung trong Python có thể khá khó hiểu. Nếu bạn muốn biết thuật ngữ chính xác, hãy đọc bài viết của chúng tôi về sự KHÁC BIỆT GIỮA CÁC MÔ-ĐUN, GÓI VÀ THƯ VIỆN TRONG PYTHON. Chúng ta sẽ sử dụng gói thuật ngữ và thư viện thay thế cho nhau trong bài viết này.

Cài đặt gói Python


Để cài đặt gói từ PyPI, bạn có thể sử dụng

píp
, trình cài đặt gói cho Python. Nó được cài đặt sẵn trong hầu hết các bản phân phối hiện đại của Python và rất dễ sử dụng. Ví dụ: nếu bạn muốn cài đặt gói có tên “awesome-package” trong môi trường của mình, bạn có thể thực thi lệnh sau trong thiết bị đầu cuối của mình:
pip install awesome-package
Theo mặc định, pip sẽ cài đặt phiên bản ổn định cuối cùng của gói. Nếu bạn muốn cài đặt một phiên bản cụ thể của gói (ví dụ: phiên bản 0.93), bạn có thể chỉ định theo cách này:

pip install awesome-package==0.93
Lưu ý rằng bản thân pip là một gói; bạn có thể cập nhật nó lên phiên bản mới nhất bằng cách thực hiện lệnh sau:

pip install --upgrade pip
Bạn có thể tự hỏi liệu mình nên cài đặt một gói hay tự viết mã. Câu trả lời là: Nếu bạn có thể tiết kiệm thời gian và tiền bạc, hãy sử dụng gói! Cộng đồng Python nhiệt tình đã phát triển hầu hết các tính toán hoặc thuật toán mà bạn sẽ cần cho các dự án của mình, vì vậy đừng lãng phí thời gian của bạn. Sử dụng các gói Python!

Bạn có thể đã sử dụng (hoặc ít nhất là đã nghe về) NUMPY , một gói Python cho phép làm việc với các cấu trúc dữ liệu lớn. NumPy là kết quả của công việc khổng lồ của cộng đồng Python; giờ đây nó là một công cụ thiết yếu cho các nhà khoa học dữ liệu. Để tìm hiểu thêm về NumPy, hãy đọc bài viết GIỚI THIỆU về NumPy của chúng tôi .

Một thư viện phổ biến và tuyệt vời khác là MATPLOTLIB , cho phép bạn tạo biểu đồ và sơ đồ 2D giúp dữ liệu dễ hiểu. Nó được sử dụng rộng rãi trong học máy và khoa học dữ liệu; bạn có thể tìm hiểu thêm bằng cách đọc BẢN VẼ PYTHON: GIỚI THIỆU VỀ MATPLOTLIB ở những nơi khác trong blog của chúng tôi. Và nếu bạn muốn tìm hiểu về các thư viện khoa học dữ liệu khác của Python, tôi đề xuất bài viết 15 THƯ VIỆN PYTHON HÀNG ĐẦU CHO KHOA HỌC DỮ LIỆU .

Bây giờ chúng ta đã tìm hiểu những kiến ​​thức cơ bản về thư viện Python, hãy nói về những gói Python không được đánh giá cao.

7 Gói Python hữu ích


Trong phần này, tôi sẽ cung cấp cho bạn các gói Python hữu ích ít được biết đến nhất mà tôi đã làm việc cùng. Một số rất đơn giản trong khi những cái khác phức tạp hơn, nhưng tất cả đều cực kỳ mạnh mẽ!

PYPPETEER 

Gói PYPPETEER là phiên bản Python của Puppeteer, một thư viện Node.js cung cấp API cấp cao để kiểm soát các chức năng của Chrome/Chromium. Nói một cách đơn giản, nó cho phép bạn chạy trình duyệt Chrome hoặc Chromium bên trong môi trường Python của bạn và tự động hóa các hành động đơn giản như truy cập trang web, nhấp vào nút, v.v.

Giả sử bạn đang làm việc trong bộ phận thương mại điện tử của một công ty thiết bị thể thao. Nhóm Vận hành yêu cầu bạn chụp ảnh màn hình của một số sản phẩm và lưu chúng ở định dạng PDF. Bạn quyết định tự động hóa quy trình bằng thư viện pyppeteer:

import asyncio
from pyppeteer import launch
 
async def main():
    # Create a new browser instance
browser = await launch()
        page = await browser.newPage()
 
    # Visit a specific URL
        await page.goto("https://myshop.com/products?sku=1234")
 
    # Take a screenshot a keep it in a PDF file
    await page.emulateMedia("screen")   
    await page.pdf({"path""exports/screen_1234.pdf"})   
 
    # Close the browser instance
    await browser.close()
 
# Run the main function
asyncio.get_event_loop().run_until_complete(main())

Ấn tượng! Lưu ý rằng pyppeteer cần thư viện Asyncio để thực hiện các cuộc gọi không đồng bộ. Bạn có thể kiểm tra toàn bộ tài liệu về Pyppeteer TẠI ĐÂY .

TELETHON 

TELETHON là một thư viện Python cho phép bạn tương tác với API Telegram. Bạn có thể gửi, nhận hoặc chờ tin nhắn Telegram mới bên trong ứng dụng Python của mình. Bạn cũng có thể gửi tệp đến một số liên lạc hoặc một nhóm các số liên lạc.

Hãy xây dựng trên ví dụ trước của chúng tôi với pyppeteer. Để tự động hóa hoàn toàn việc giám sát sản phẩm, bạn muốn tải các tệp PDF lên một nhóm Telegram nơi có các thành viên nhóm Vận hành. Bạn có thể làm điều đó rất nhanh chóng với Telethon:

from telethon.sync import TelegramClient
 
with TelegramClient("name", api_id, api_hash) as client:
    channel = client.get_input_entity(channel_id)
    client.send_file(channel, "exports/screen_1234.pdf")
    client.run_until_disconnected()

Đơn giản đến bất ngờ! Bạn chỉ cần lấy ID API Telegram và hàm băm (có thể thực hiện trong vài phút) như được chỉ định trong TÀI LIỆU của Telethon .

PyWhatKit

Telegram cho phép bạn sử dụng API của nó một cách tự do. Điều này không giống với WhatsApp: nếu bạn muốn gửi tin nhắn đến WhatsApp từ ứng dụng của mình, bạn sẽ cần WHATSAPP BUSINESS . Tuy nhiên, có một mẹo hay dành cho máy tính để bàn – nhờ thư viện PyWhatKit. PYWHATKIT là một thư viện Python hoạt động chặt chẽ với công cụ tự động hóa trình duyệt SELENIUM . Khi bạn muốn gửi tin nhắn đến WhatsApp, nó sẽ mở WHATSAPP WEB trong tab trình duyệt mới, đặt tin nhắn vào trường nhập và tự động gửi tin nhắn đến liên hệ hoặc nhóm của bạn.

Hãy tưởng tượng rằng bạn đã tạo một nhóm khẩn cấp trong WhatsApp với các thành viên trong nhóm của mình. Bạn muốn tự động chuyển tiếp một số cảnh báo bạn nhận được từ máy tính xách tay của mình qua e-mail (hoặc một số nguồn khác). Bạn có thể làm điều đó rất đơn giản theo cách này:

import pywhatkit
 
pywhatkit.sendwhatmsg_to_group_instantly("X6jaeFeVWGQ5B9jWpSQFcz""Alert: EC2 server reached 80% capacity")

 

XlsxWriter

XLSXWRITER là một mô-đun Python rất mạnh để ghi tệp ở định dạng Excel. Nó hỗ trợ thêm văn bản, số, công thức, hình ảnh và macro Excel – trong số các chức năng khác. XlsxWriter thậm chí còn tích hợp với pandas, gói Python nổi tiếng dành cho khoa học dữ liệu.

Hãy tưởng tượng rằng sếp của bạn yêu cầu bạn tạo một báo cáo tài chính cho quý hiện tại. Cô ấy cần nó ở định dạng Excel để trình bày trước hội đồng. Có thể mất hàng giờ để sao chép và dán các giá trị từ cơ sở dữ liệu. Bạn không muốn thực hiện nhiệm vụ này hàng quý, vì vậy bạn quyết định tự động hóa quy trình bằng XlsxWriter. Đây là một ví dụ đơn giản về cách bạn có thể làm điều đó:

import xlsxwriter
 
# Create a new XLSX file and a new tab
workbook = xlsxwriter.Workbook("Q4 Financial Report.xlsx")
worksheet = workbook.add_worksheet("October")
 
# Insert the company logo in the first cell
worksheet.insert_image("A1""logo.png")
 
# Define a bold style for the column headers
header_format = workbook.add_format({"bold"True})
 
# Write some numbers, with row/column notation.
worksheet.write(30"Gross Margin", header_format)
worksheet.write(402.45)
worksheet.write(30"EBITDA", header_format)
worksheet.write(405.12)
 
# Save and close file
workbook.close()