Библиотека Pysnooper предлагает простой и эффективный способ отслеживания выполнения кода, что может значительно упростить процесс отладки.
Она работает за счёт добавления специального декоратора, который фиксирует информацию о переменных, их значениях и каждом шаге выполнения кода.
Установка библиотеки:
pip install pysnooper
Pysnooper также позволяет указать файл для сохранения логов или исключить запись некоторых переменных. Например, чтобы сохранить логи выполнения в файл logfile.log, используйте следующую конструкцию:
@pysnooper.snoop('logfile.log')
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Сырые строки — это строки, в которых последовательности (начинающиеся с обратного слеша \) не интерпретируются.
Они существуют для удобства и читаемости кода, когда обратный слеш нужен как обычный символ.
В каких случаях стоит использовать сырые строки?
🟡 Когда вы указываете пути к файлам в Windows (например, r"C:\Users\...")🟢 При использовании регулярных выражений (например, re.compile(r"\d+"))🟣 Когда создаете шаблоны, содержащие обратные слеши.
Сырая строка не может заканчиваться на нечетное количество обратных слешей.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2
🎯 Основные способы вывода текста в трёх популярных языках программирования
📲 Мы в Max – подписывайся
Python предлагает самый простой и интуитивно понятный синтаксис для вывода данных с помощью функции print(), не требующей дополнительных библиотек или сложных конструкций.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5🔥1👀1
1 - Индексация:
Проверьте шаблоны запросов вашего приложения и создайте правильные индексы.
2 - Материализованные представления:
Предварительно вычисляйте результаты сложных запросов и сохраняйте их для более быстрого доступа.
3 - Денормализация:
Сократите количество сложных соединений для повышения производительности запросов.
4 - Вертикальное масштабирование
Увеличьте производительность сервера базы данных, добавив больше ЦП, оперативной памяти или хранилища.
5 - Кэширование
Храните часто используемые данные на более быстром уровне хранения, чтобы снизить нагрузку на базу данных.
6 - Репликация
Создавайте копии вашей первичной базы данных на разных серверах для масштабирования операций чтения.
7 - Шардинг
Разделите таблицы базы данных на более мелкие части и распределите их по серверам. Используется для масштабирования как записей, так и чтений.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
// TODO: Понять, почему это работает. И почему это не должно работать, но работает. Страшно.
📲 Мы в Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9
Нужно установить две библиотеки:
pip install pdfplumber
pip install gTTS
Скрипт берёт текст из PDF и сохраняет его как MP3-файл.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3🔥1
Комбинация этих методов позволяет эффективно работать со списками и упрощает решение задач, связанных с обработкой данных в Python.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Он отлично справляется с такими задачами, как фильтрация, сортировка и агрегация данных.
Он предлагает библиотеки, такие как Pandas для обработки данных, NumPy для числовых операций и Scikit-Learn для машинного обучения.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
В отличие от языков программирования, HTML не содержит конструкций для управления потоком выполнения, таких как циклы, условные операторы, функции или переменные.
Его основная функция — описать структуру и содержимое веб-страницы с помощью тегов и атрибутов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
# Импорт модуля для выполнения системных команд
import subprocess
# Получаем метаданные о Wi-Fi профилях с помощью команды netsh
meta_data = subprocess.check_output(['netsh', 'wlan', 'show', 'profiles'])
# Декодируем полученные данные из байтов в строку UTF-8, заменяя ошибки символами \
data = meta_data.decode('utf-8', errors="backslashreplace")
# Разделяем данные по строкам
data = data.split('\n')
# Создаем список для хранения имен Wi-Fi профилей
profiles = []
# Перебираем каждую строку в данных
for line in data:
# Ищем строки, содержащие "All User Profile" (имена Wi-Fi сетей)
if "All User Profile" in line:
# Разделяем строку по двоеточию
parts = line.split(":")
# Берем вторую часть (имя профиля)
profile_name = parts[1]
# Удаляем лишние пробелы и кавычки вокруг имени
profile_name = profile_name.strip()[1:-1]
# Добавляем имя профиля в список
profiles.append(profile_name)
# Выводим заголовок таблицы
print("{:<30}| {:<}".format("Имя Wi-Fi", "Пароль"))
print("----------------------------------------------")
# Перебираем все найденные профили Wi-Fi
for profile in profiles:
try:
# Пытаемся получить информацию о профиле, включая пароль
results = subprocess.check_output(['netsh', 'wlan', 'show', 'profile', profile, 'key=clear'])
# Декодируем и разделяем результат по строкам
results = results.decode('utf-8', errors="backslashreplace")
results = results.split('\n')
# Ищем строку с содержимым ключа (паролем)
password_lines = [line.split(":")[1].strip()[1:-1] for line in results if "Key Content" in line]
# Если пароль найден, выводим его
try:
print("{:<30}| {:<}".format(profile, password_lines[0]))
# Если пароль не найден, выводим пустое поле
except IndexError:
print("{:<30}| {:<}".format(profile, ""))
# Обрабатываем ошибку, если команда не выполнилась
except subprocess.CalledProcessError:
print("{:<30}| {:<}".format(profile, "Ошибка получения данных"))
Важные нюансы:
Please open Telegram to view this post
VIEW IN TELEGRAM
MAX
MAX – быстрое и легкое приложение для общения и решения пов…
👍4❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10
MarkItDown — это инструмент для преобразования файлов в формат Markdown. Он поддерживает самые разные типы документов: от офисных форматов вроде PDF, Word и Excel до изображений, аудио и даже HTML-страниц.
Библиотека умеет извлекать текст, метаданные, а при необходимости использует распознавание речи или OCR.
Установка библиотеки:
pip install markitdown
Такой подход очень удобен, когда нужно подготовить содержимое файлов для дальнейшего анализа или обработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
— Ты почему всё время на Python пишешь?
— Ну, мне сказали: «Тебе стоит попробовать Python, бро».
— И что?
— А я попробовал… Теперь tuple не изменить, list не остановить, а от indentation error спасает только кофе!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2😁2
Когда использовать:
🟢 List: Используйте, когда вам нужна изменяемая последовательность элементов. Подходит для списков задач или других коллекций, где порядок и возможность изменения важны.🟢 Tuple: Выбирайте, если у вас есть данные, которые не должны изменяться. Подходит для фиксированных наборов данных, таких как координаты или константы.🟢 Set: Используйте, когда вам нужно хранить уникальные элементы и выполнять операции над ними, такие как объединение и пересечение.
Важные нюансы:
🟠
Элементы в Set должны быть хешируемыми (например, числа, строки, кортежи).
🟠
Хотя порядок в Set появился в Python 3.7+, лучше не полагаться на него в логике программы.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
Программа создает фиолетовые цифровые часы с белым текстом, которые обновляются каждую секунду.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
clock_pythontechcode.py
1.1 KB
Окно часов нельзя изменить в размере, что предотвращает проблемы с отображением.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1