Справочник Программиста
الذهاب إلى القناة على Telegram
По рекламе - @it_start_programmer Мои курсы - @courses_from_it_start_bot Сайт - https://it-start.online/ YouTube - https://www.youtube.com/@it_start Реклама на бирже - https://telega.in/c/programmersGuide_1 Предложить идею: @it_start_suggestion_bot
إظهار المزيد5 856
المشتركون
لا توجد بيانات24 ساعات
-227 أيام
-5830 أيام
أرشيف المشاركات
Код для сканирования на наличие дубликатов файлов по хэшу с логированием на Python
Для сканирования на наличие дубликатов файлов по хэшу с логированием в коде используются стандартные библиотеки
os, hashlib, logging и typing.
import os
import hashlib
import logging
from typing import Dict
# Настройка логирования
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s - %(levelname)s - %(message)s",
handlers=[
logging.FileHandler("duplicates.log", encoding="utf-8"), # Лог записывается в файл
logging.StreamHandler() # Лог также выводится в консоль
]
)
def get_file_hash(file_path: str, chunk_size: int = 65536) -> str:
hasher = hashlib.md5() # Создаем объект хэша MD5
try:
# Открываем файл в бинарном режиме для чтения
with open(file_path, 'rb') as file:
# Читаем файл частями, чтобы не загружать весь файл в память
while chunk := file.read(chunk_size):
hasher.update(chunk) # Обновляем хэш с помощью очередного блока данных
return hasher.hexdigest() # Возвращаем итоговый хэш файла
except FileNotFoundError:
logging.error(f"Файл не найден: {file_path}") # Логируем ошибку, если файл отсутствует
raise
except PermissionError:
logging.error(f"Нет доступа к файлу: {file_path}") # Логируем ошибку, если нет прав доступа
raise
def find_duplicates(folder_path: str) -> None:
# Проверяем, существует ли указанная директория
if not os.path.exists(folder_path):
logging.error(f"Указанная директория не существует: {folder_path}")
return
# Словарь для хранения хэшей файлов и их путей
files_hash: Dict[str, str] = {}
# Проходимся по всем папкам, подкаталогам и файлам в директории
for root, dirs, files in os.walk(folder_path):
for file in files: # Обрабатываем каждый файл в текущей директории
file_path = os.path.join(root, file) # Формируем полный путь к файлу
try:
# Вычисляем хэш текущего файла
file_hash = get_file_hash(file_path)
if file_hash in files_hash:
# Если хэш уже есть в словаре, то найден дубликат
logging.info(f"Дубликат найден: {file_path} и {files_hash[file_hash]}")
else:
# Если хэша нет в словаре, добавляем файл в словарь
files_hash[file_hash] = file_path
except Exception as e:
# Логируем любые ошибки, возникшие при обработке файла
logging.warning(f"Не удалось обработать файл {file_path}: {e}")
if __name__ == "__main__":
# Пример: поиск дубликатов в указанной директории
target_folder = r"C:\Users\User\Documents"
find_duplicates(target_folder)
➡️Справочник Программиста. ПодписатьсяПрофильная Flutter-конференция
21 февраля в Москве пройдёт конференция для Flutter-разработчиков. Приглашаем участников и спикеров.
1 день и 2 потока докладов от экспертов индустрии. Кейсы от ведущих агентств. Круглый стол. Активный нетворкинг. Афтепати в завершении дня.
Программа и билеты на сайте.
Узнать больше
#реклама
flutterconf.ru
О рекламодателе
👀 Библиотека python-slugify в Python
Библиотека
python-slugify позволяет конвертировать строки в удобный для использования формат "slug".
Slug — это короткий, человекочитаемый идентификатор, часто используемый в URL для замены пробелов и специальных символов на безопасные и удобные для чтения символы (обычно дефисы).
Основные возможности библиотеки:
🔵Замена пробелов и спецсимволов: Преобразует пробелы, символы пунктуации и спецсимволы в дефисы.
🔵Поддержка Unicode: Поддерживает символы различных языков, включая кириллицу.
🔵Транслитерация: Может автоматически преобразовывать текст из одного алфавита в другой (например, кириллицу в латиницу).
🔵Настраиваемый разделитель: Позволяет задавать любой разделитель вместо стандартного дефиса.
🔵Поддержка кастомных функций обработки текста: Возможность использовать собственные функции для обработки строк.
➡️Установка библиотеки: pip install python-slugify
📱 Репозиторий
➡️Справочник Программиста. ПодписатьсяБольшая кладовая онлайн-курсов
Stepik – незаменимый спутник для тех, кто работает удаленно и любит путешествовать, так как помогает учиться в любой точке мира.
Это отличная альтернатива чтению книги и просмотру фильма: позволит вам скоротать время в дороге, осваивая полезный навык или подтягивая иностранный язык, особенно удобно это делать в мобильном приложении.
У Stepik есть свой телеграм-канал, в котором они рассказывают об авторских курсах (как платных, так и бесплатных), а также публикует полезные статьи и ссылки. У них есть такие подборки курсов:
- Разработка на Python
- Дизайн и графика
- Тестирование ПО
- Работа с данными
Подпишитесь на stepik_courses и найдите интересующий курс для себя!
Подписаться
#реклама 16+
О рекламодателе
+1
👀 Библиотека wheel в Python
Библиотека
wheel используется для работы с форматом wheel — стандартом для упрощённой упаковки и установки Python-пакетов.
Wheel-пакеты (*.whl) представляют собой предварительно скомпилированные дистрибутивы Python-пакетов, которые можно быстро и эффективно устанавливать через pip.
Основные возможности библиотеки:
🔵Создание wheel-пакетов из исходного кода.
🔵Распаковка содержимого wheel-пакетов.
🔵Проверка валидности wheel-пакетов.
🔵Упрощение установки пакетов благодаря предсобранным бинарникам.
🔵Совместимость с инструментами сборки, такими как setuptools.
🔵Поддержка работы с платформозависимыми и универсальными пакетами.
🔵Ускорение установки пакетов через pip.
🔵Автоматизация процесса упаковки и развёртывания Python-проектов.
➡️Установка библиотеки: pip install wheel
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. ПодписатьсяДарим подписку на Яндекс Музыку
Ответьте на 1 вопрос и Яндекс Музыка для вас и 3-х ваших близких 30 дней бесплатно.
Кинопоиск и Яндекс Книги тоже в подписке.
Попробуйте сейчас❤️
Попробовать
#реклама 18+
music.yandex.ru
О рекламодателе
Реклама на Яндексе
DocETL — это инструмент, предназначенный для извлечения, преобразования и загрузки данных из документов.
Создан для обработки текстовых данных, особенно из медицинских документов, но может применяться и в других областях.
Основные особенности:
🔵Поддержка форматов PDF, DOCX и TXT.
🔵Извлечение текста из сложных документов с сохранением структуры.
🔵Очистка, нормализация и анализ данных.
🔵Сохранение преобразованных данных в базы данных или другие форматы.
🔵Специализированные функции для анализа медицинских терминов.
🔵Выявление и обработка чувствительных данных.
🔵Возможность подключения пользовательских функций для обработки данных.
🔵Интеграция с другими библиотеками и проектами.
➡️Установка библиотеки: pip install docetl
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. ПодписатьсяПрокачаем ваш frontend скилл с junior до middle
Научим писать код, который не стыдно показать
Первые 7 дней бесплатно. Попробуй!
Узнать больше
#реклама 16+
ykul.ru
О рекламодателе
👀 Библиотека python-magic в Python
Библиотека
python-magic — это удобный интерфейс для работы с libmagic, популярной утилитой, которая определяет типы файлов на основе их содержимого, а не по расширению.
С помощью этой библиотеки вы можете быстро узнать, что представляет собой файл, например, является ли он изображением, текстом, PDF-документом и т.д.
Основные возможности библиотеки:
🔵Определение типа файла на основе содержимого.
🔵Получение MIME-типа файла.
🔵Определение типа данных из буфера байтов.
🔵Указание пути к пользовательскому файлу базы данных magic.mgc.
🔵Работа с различными типами файлов: текст, изображения, видео, архивы и др.
🔵Кроссплатформенность: поддержка Linux, Windows и macOS.
➡️Установка библиотеки: pip install python-magic
📱 Репозиторий
➡️Справочник Программиста. ПодписатьсяVisGPT — твой личный суперпомощник!
👌😊 20+ нейросетей для любых задач:
Написание текстов
Создание картинок
Анализ данных
Помощь с кодом
Генерация идей
👍 Преимущества VisGPT
Всё в одном приложении
Без VPN и сложных настроек
Удобная оплата в рублях
Доступные тарифы
Поддержка 24/7
💰 Специальное предложение:
Годовая подписка со скидкой 20%
Начни использовать прямо сейчас:
Начать
#реклама 16+
ai.vis.center
О рекламодателе
👀 Библиотека StatsForecast в Python
Библиотека
StatsForecast предназначена для высокопроизводительного прогнозирования временных рядов.
Предлагает простоту использования, масштабируемость и высокую производительность благодаря использованию современных технологий, таких как Numba для ускорения вычислений.
Основные возможности библиотеки:
🔵Самые быстрые и точные реализации AutoARIMA, AutoETS, AutoCES, MSTL и Theta на Python.
🔵Готовая интеграция с Spark, Dask и Ray.
🔵Прогнозирование с учетом вероятностей и доверительные интервалы.
🔵Поддержка экзогенных переменных и статических ковариат.
🔵Обнаружение аномалий.
➡️Установка библиотеки: pip install statsforecast
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. ПодписатьсяКрупнейший университет искусственного интеллекта
Приглашаем на бесплатный однодневный интенсив по AI!
Освой искусственный интеллект для профессионального роста: создавай нейросети, автоматизируй бизнес-задачи и зарабатывай на AI-решениях.
✨ 8 000+ студентов со всего мира
✨ 600+ AI-проектов, созданных студентами
✨ Сборная Университета — победители крупнейших AI-хакатонов России
✨ Стажировки в крупнейших компаниях России (РЖД, Ростелеком, РУДН, Совкомбанк, Самолет и другие)
✨ Трудоустраиваем выпускников в крупнейшие компании (Яндекс, ВТБ, Сбербанк, Роскосмос и другие)
Будем рады видеть тебя в наших рядах!
Узнать больше
#реклама 16+
neural-university.ru
О рекламодателе
Код для наложения текста над видео с анимацией на Python
Для наложения текста над видео в коде используется библиотека movis.
➡️Установка библиотек:
pip install movis
import movis as mv
# Создаём композицию с размером 1920x1080 пикселей и длительностью 8 секунд
scene = mv.layer.Composition(size=(1920, 1080), duration=8.0)
# Добавляем видеоклип 'video.mp4' в композицию
video = scene.add_layer(mv.layer.Video('video.mp4'))
# Добавляем текстовый слой с сообщением 'Welcome!' на позицию (960, 100) с белым цветом и размером шрифта 70
text_layer = scene.add_layer(mv.layer.Text('Welcome!',
font_size=70,
color='#FFFFFF'),
position=(960, 100))
# Анимация масштаба и прозрачности, чтобы текст плавно увеличивался и становился видимым
text_layer.scale.enable_motion().extend([0.0, 1.5], [0.0, 1.0]) # Масштаб от 0 до 1.5
text_layer.opacity.enable_motion().extend([0.0, 2.0], [0.0, 1.0]) # Прозрачность от 0 до 1
# Сохраняем итоговое видео в файл 'output.mp4'
scene.write_video('output.mp4')
➡️Справочник Программиста. ПодписатьсяFlask-Bcrypt — это расширение для фреймворка Flask, которое добавляет поддержку хэширования паролей с использованием алгоритма BCrypt.
Предназначено для повышения безопасности приложений, поскольку хранение паролей в незашифрованном виде или с использованием слабых алгоритмов может привести к их компрометации.
Основные особенности:
🔵Безопасное хэширование паролей с использованием алгоритма BCrypt.
🔵Защита от атак с использованием предвычисленных таблиц благодаря генерации соли.
🔵Устойчивость к атакам brute force за счёт регулируемого уровня сложности.
🔵Простая интеграция с фреймворком Flask.
🔵Удобные методы для хэширования и проверки паролей.
🔵Поддержка настройки сложности хэширования через количество итераций.
➡️Установка библиотеки: pip install Flask-Bcrypt
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. ПодписатьсяПервая Flutter-конференция в Москве – 21 февраля
Приглашаем на профильное IT-мероприятие участников и спикеров. В течение дня – два потока докладов. +Активный нетворкинг и яркое афтепати.
Билеты и программа на сайте.
Узнать больше
#реклама
flutterconf.ru
О рекламодателе
Код для защиты Excel-файла паролем на Python
Для защиты Excel-файла паролем в коде используется библиотека
Spire.Office.
➡️Установка библиотеки: pip install Spire.Office
from spire.xls import Workbook
def protect_excel_with_password(input_file, output_file, password):
try:
# Открываем существующий Excel-файл
workbook = Workbook()
workbook.LoadFromFile(input_file)
# Устанавливаем пароль для открытия файла
workbook.Protect(password)
# Сохраняем защищённый файл
workbook.SaveToFile(output_file)
print(f"Файл успешно защищён паролем и сохранён как {output_file}")
except Exception as e:
print(f"Ошибка: {e}")
if __name__ == "__main__":
# Пример использования
input_path = r"example.xlsx"
output_path = r"output_file.xlsx"
file_password = "password123"
protect_excel_with_password(input_path, output_path, file_password)
➡️Справочник Программиста. ПодписатьсяНейросети с Павлом Бесхитровым
Заходите в мой канал и вы там найдете:
- гайд: как получить доступ к топовым нейронкам для генерации текстов - бесплатно;
- руководство по написанию крутых текстов с помощью нейросетей- вплоть до копирования стилистики (вашей, любимого блоггера или писателя) ;
- руководство "Как создавать классные короткие видео с помощью бесплатных нейросетей ";
- обзоры малоизвестных бесплатных и платных нейронок;
- малоизвестные фишки по работе с нейросетями.
А так же многое другое! Заходите, изучайте и подписывайтесь!
Узнать больше
#реклама 16+
О рекламодателе
+1
👀 Библиотека Hatch в Python
Библиотека
Hatch предназначена для управления проектами и виртуальными окружениями, которая упрощает процессы создания, настройки и публикации Python-пакетов.
Позволяет эффективно управлять жизненным циклом своих проектов и поддерживать согласованную конфигурацию.
Основные возможности библиотеки:
🔵Управление виртуальными окружениями: Позволяет создавать и управлять виртуальными окружениями, упрощая процесс работы с проектами. Автоматизирует создание окружений, управление их версиями и переключение между ними, обеспечивая изоляцию зависимостей для разных проектов.
🔵Гибкая настройка проекта: Вся конфигурация проекта хранится в одном файле — pyproject.toml.
🔵Сборка и публикация пакетов: Автоматически собирает Python-пакеты в распространённые форматы, такие как wheel и sdist. Также упрощает процесс публикации пакетов на PyPI или других репозиториях, позволяя быстро и без ошибок выкладывать проект.
🔵Управление зависимостями: Предоставляет удобные механизмы для установки и управления зависимостями.
🔵Плагины и расширяемость: Поддерживает расширения через плагины, что позволяет добавлять кастомную функциональность и улучшать процесс работы с проектом.
🔵Скрипты и команды: Позволяет определять собственные команды для выполнения различных задач, таких как тестирование, анализ кода или сборка.
➡️Установка библиотеки: pip install hatch
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. ПодписатьсяКак разрабу или продакту в IT запустить свой проект?
Работать в корпорации - страшно, жизнь мимо проходит. Строить бизнес - страшно, а вдруг прогорит
Один из вариантов - пилить свой проект по вечерам. Ведь многие успешные компании, типа Твиттер, начинались как Пет проекты
Мы не говорим, что пет проект обязательно заработает миллиарды. Но заработать денег больше, чем в найме, вполне реально, а уж опыта получить точно больше можно
Но есть куча проблем:
- Как выбрать идею для проекта?
- Что нужно знать про маркетинг?
- Как запуститься и довести до первых продаж не имея бюджета?
Михаил Табунов сделал про все это телеграм канал, в котором пишет для разработчиков и менеджеров про свой опыт - где брать идею, что надо знать про маркетинг, как запускать и искать первых клиентов, и многое другое
Подписаться
#реклама
О рекламодателе
👀 Библиотека six в Python
Библиотека
six предназначена для написания кода, который работает как в Python 2, так и в Python 3. Упрощает работу с различиями между этими версиями, такими как строки, модули, итераторы и исключения.
Хотя Python 2 больше не поддерживается (официально с 2020 года), six полезна, если нужно поддерживать старый код или работать с проектами, рассчитанными на обе версии Python.
Основные особенности библиотеки:
🔵Единый интерфейс для работы с различиями между Python 2 и 3.
🔵Поддержка стандартных библиотек, типов данных, строковых операций и модулей, которые изменились между версиями.
🔵Легкость использования: предоставляется в одном небольшом модуле.
➡️Установка библиотеки: pip install six
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. Подписаться
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
