Библиотека Python разработчика | Книги по питону
19.5K subscribers
1.05K photos
391 videos
82 files
988 links
Полезные материалы для питониста по Фреймворкам Django, Flask, FastAPI, Pyramid, Tornado и др.

По всем вопросам @evgenycarter

РКН clck.ru/3Ko7Hq
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Автоматизация сообщений WhatsApp с помощью Python с использованием модуля Pywhatkit

Мы можем автоматизировать отправку сообщений WhatsApp с помощью скрипта Python. В этой статье мы узнаем о самых простых способах использования модуля pywhatkit, который используется на сайте web.whatsapp.com для автоматизации отправки сообщений на любой номер WhatsApp.

https://www.geeksforgeeks.org/automate-whatsapp-messages-with-python-using-pywhatkit-module/

👉@BookPython
👍3
Можно ли осуществить динамическую загрузку модуля в Python?

Чтобы загружать модули динамически, т.е. во время выполнения программы, используется функция importlib.import_module()

В этом примере мы импортируем модуль importlib и используем его функцию import_module() для динамической загрузки модуля math. Затем мы используем функцию sqrt() из загруженного модуля.

Динамическая загрузка модуля может быть полезна, например, если вы хотите загрузить модуль в зависимости от каких-то условий, которые определяются во время выполнения программы. Такой подход — медленный, но он помогает эффективнее использовать память.

import importlib

# Загрузка модуля 'math' динамически
math_module = importlib.import_module('math')

# Использование функции 'sqrt' из модуля 'math'
print(math_module.sqrt(16))

👉@BookPython
👍5
Игра "Сапер" на Python

Minesweeper in Python Tkinter Превью
Создаем игровое поле. Minesweeper in Python Tkinter
Создаем класс MineSwepper. Minesweeper in Python Tkinter
Класс MyButton. Minesweeper in Python Tkinter
Расставляем мины. Minesweeper in Python Tkinter
Обработка нажатия кнопок. Minesweeper in Python Tkinter
Создаем барьерные элементы. Minesweeper in Python Tkinter
Подсчитываем мины вокруг. Minesweeper in Python Tkinter
Добавляем цвет. Minesweeper in Python Tkinter
Скрываем поля. Minesweeper in Python Tkinter

источник

👉@BookPython
👍41
Запустится ли этот код на Python 3? Если да, то что он выведет?

sys.allow_boolean_assignment разрешает создавать переменные с именами, зарезервированными под идентификаторы типа bool. Поэтому этот код запустится и выведет "True is False".

Эта настройка введена в известном первоапрельском коммите, который до сих пор остался в коде интерпретатора. Если кандидат об этом знает, можно с уверенностью сказать, что он общается в профессиональных кругах и любят углубляться в детали.

👉@BookPython
👍7
Media is too big
VIEW IN TELEGRAM
Делаем механические Часы на Python

В этом видео узнаете как сделать достаточно интересный и необычный циферблат механических часов на Python, используя библиотеку Pygame.

https://github.com/StanislavPetrovV/Python-Clock

👉@BookPython
👍6
Просмотр всех файлов в папке с помощью Python

В этом примере мы указываем путь к папке, которую нам нужно просмотреть, с помощью переменной folder_path.

Затем мы вызываем функцию os.listdir(), которая вернет список всех файлов и папок в указанной папке. Мы проходим циклом for через этот список и выводим на экран имена файлов.

👉@BookPython
👍7
Media is too big
VIEW IN TELEGRAM
8 советов как ЛУЧШЕ писать исключения на Python

0:00 - Что будет в видео?
0:59 - Первая ошибка, которая может убить ваш проект
4:27 - Почему нельзя поднимать исключение от Exception?
5:48 - Как заглушить ошибки без except pass?
6:53 - Можно ли игнорировать блок Exception?
7:18 - Данная ошибка будет скрывать все исключения
8:33 - Как иерархия исключений может создать баги в проекте?
10:03 - Манипуляция стектрейсом через raise from
12:12 - Бонус. Способ затроллить разработчиков
13:15 - 1000 лайков == (python.skills ** 20)

источник

👉@BookPython
👍2🤔1
GIL в Python: как его будут отключать

Python-разработчики, как правило, хорошо знают, что такое и для чего нужен GIL, вопросы по нему встречаются на большинстве собеседований, я и сам люблю их задавать. Но в CPython его скоро не будет. Да, core-разработчики CPython взяли курс на его удаление.

Данная статья может быть интересна всем, кто имеет дело с Python, а также людям, интересующимся устройством языков программирования в целом. Статья не является точным переводом, это краткое и вольное изложение концепций автором без погружения в детали реализации. Вы всегда можете ознакомиться с PEP 703 в оригинале самостоятельно.

https://habr.com/ru/articles/801675/

👉@BookPython
👍6
Пишем асинхронный парсер и скрапер картинок на Python с графическим интерфейсом

В этой статье мы создадим desktop-приложение, которое по нашему запросу будет сохранять на нашем диске заданное количество картинок. Так как картинок будет много, мы воспользуемся асинхронностью Python для конкурентной реализации операций ввода-вывода. Посмотрим, чем отличаются библиотеки requests и aiohttp. Также создадим два дополнительных потока приложения, чтобы обойти глобальную блокировку интерпретатора Python.

https://habr.com/ru/articles/801981/

👉@BookPython
👍3🎉1
Скрипт извлечение текста из PDF-файла

Установить пакет
pip install PyPDF2

# import module PyPDF2
import PyPDF2
# put 'example.pdf' in working directory
# and open it in read binary mode
pdfFileObj = open('example.pdf', 'rb')
# call and store PdfFileReader
# object in pdfReader
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
# to print the total number of pages in pdf
# print(pdfReader.numPages)
# get specific page of pdf by passing
# number since it stores pages in list
# to access first page pass 0
pageObj = pdfReader.getPage(0)
# extract the page object
# by extractText() function
texts = pageObj.extractText()
# print the extracted texts
print(texts)

Объединение двух файлов в один
Копироуем текст из двух PDF-файлов и объединить его в новый PDF-файл.

import PyPDF2
# open two pdfs
pdf1File = open('example.pdf', 'rb')
pdf2File = open('example2.pdf', 'rb')
# read first pdf
pdf1Reader = PyPDF2.PdfFileReader(pdf1File)
# read second pdf
pdf2Reader = PyPDF2.PdfFileReader(pdf2File)
# for writing in new pdf file
pdfWriter = PyPDF2.PdfFileWriter()
for pageNum in range(pdf1Reader.numPages):
pageObj = pdf1Reader.getPage(pageNum)
pdfWriter.addPage(pageObj)
for pageNum in range(pdf2Reader.numPages):
pageObj = pdf2Reader.getPage(pageNum)
pdfWriter.addPage(pageObj)
# create new pdf 'example3.pdf'
pdfOutputFile = open('example3.pdf', 'wb')
pdfWriter.write(pdfOutputFile)
pdfOutputFile.close()
pdf1File.close()
pdf2File.close()

👉@BookPython
👍12👎2
Бесплатные курсы по Python
Начало: 1 апреля
Расписание: пн, чт в 20.15-21.00 по москве
Продолжительность: 8 лекций + 2 недели практики

Для записи вступите в следующий канал:
https://t.me/+8wzlnw2vrsIwODAy
1🔥1
Скрипт фильтрация текста

Для примера возьмем систему для пакетной обработки сообщений с подтверждением продажи, для работы которой нужно наладить автоматическое вычленение номера кредитной карты из массива текста сообщения электронной почты.

Приведенный скрипт может быстро найти любой номер кредитной карты, соответствующий шаблону, что позволяет легко отфильтровать эту информацию из любого текстового содержимого:

# Filter Text
# Import re module
import re
# Take any string data
string = """a string we are using to filter specific items.
perhaps we would like to match credit card numbers
mistakenly entered into the user input. 4444 3232 1010 8989
and perhaps another? 9191 0232 9999 1111"""

# Define the searching pattern
pattern = '(([0-9](\s+)?){4}){4}'

# match the pattern with input value
found = re.search(pattern, string)
print(found)
# Print message based on the return value
if found:
print("Found a credit card number!")
else:
print("No credit card numbers present in input")

👉@BookPython
1👍1