ar
Feedback
Справочник Программиста

Справочник Программиста

الذهاب إلى القناة على Telegram
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-разработчиков. Приглашаем участников и спи
Профильная Flutter-конференция 21 февраля в Москве пройдёт конференция для Flutter-разработчиков. Приглашаем участников и спикеров. 1 день и 2 потока докладов от экспертов индустрии. Кейсы от ведущих агентств. Круглый стол. Активный нетворкинг. Афтепати в завершении дня. Программа и билеты на сайте. Узнать больше #реклама flutterconf.ru О рекламодателе

👀 Библиотека python-slugify в Python Библиотека python-slugify позволяет конвертировать строки в удобный для использования ф
👀 Библиотека python-slugify в Python Библиотека python-slugify позволяет конвертировать строки в удобный для использования формат "slug". Slug — это короткий, человекочитаемый идентификатор, часто используемый в URL для замены пробелов и специальных символов на безопасные и удобные для чтения символы (обычно дефисы). Основные возможности библиотеки: 🔵Замена пробелов и спецсимволов: Преобразует пробелы, символы пунктуации и спецсимволы в дефисы. 🔵Поддержка Unicode: Поддерживает символы различных языков, включая кириллицу. 🔵Транслитерация: Может автоматически преобразовывать текст из одного алфавита в другой (например, кириллицу в латиницу). 🔵Настраиваемый разделитель: Позволяет задавать любой разделитель вместо стандартного дефиса. 🔵Поддержка кастомных функций обработки текста: Возможность использовать собственные функции для обработки строк. ➡️Установка библиотеки: pip install python-slugify 📱 Репозиторий ➡️Справочник Программиста. Подписаться

Большая кладовая онлайн-курсов Stepik – незаменимый спутник для тех, кто работает удаленно и любит путешествовать, так как по
Большая кладовая онлайн-курсов Stepik – незаменимый спутник для тех, кто работает удаленно и любит путешествовать, так как помогает учиться в любой точке мира. Это отличная альтернатива чтению книги и просмотру фильма: позволит вам скоротать время в дороге, осваивая полезный навык или подтягивая иностранный язык, особенно удобно это делать в мобильном приложении. У Stepik есть свой телеграм-канал, в котором они рассказывают об авторских курсах (как платных, так и бесплатных), а также публикует полезные статьи и ссылки. У них есть такие подборки курсов: - Разработка на Python - Дизайн и графика - Тестирование ПО - Работа с данными Подпишитесь на stepik_courses и найдите интересующий курс для себя! Подписаться #реклама 16+ О рекламодателе

👀 Библиотека wheel в Python Библиотека wheel используется для работы с форматом wheel — стандартом для упрощённой упаковки и
+1
👀 Библиотека wheel в Python Библиотека wheel используется для работы с форматом wheel — стандартом для упрощённой упаковки и установки Python-пакетов. Wheel-пакеты (*.whl) представляют собой предварительно скомпилированные дистрибутивы Python-пакетов, которые можно быстро и эффективно устанавливать через pip. Основные возможности библиотеки: 🔵Создание wheel-пакетов из исходного кода. 🔵Распаковка содержимого wheel-пакетов. 🔵Проверка валидности wheel-пакетов. 🔵Упрощение установки пакетов благодаря предсобранным бинарникам. 🔵Совместимость с инструментами сборки, такими как setuptools. 🔵Поддержка работы с платформозависимыми и универсальными пакетами. 🔵Ускорение установки пакетов через pip. 🔵Автоматизация процесса упаковки и развёртывания Python-проектов. ➡️Установка библиотеки: pip install wheel 📱 Репозиторий ⚙️ Документация ➡️Справочник Программиста. Подписаться

Дарим подписку на Яндекс Музыку Ответьте на 1 вопрос и Яндекс Музыка для вас и 3-х ваших близких 30 дней бесплатно. Кинопоиск
Дарим подписку на Яндекс Музыку Ответьте на 1 вопрос и Яндекс Музыка для вас и 3-х ваших близких 30 дней бесплатно. Кинопоиск и Яндекс Книги тоже в подписке. Попробуйте сейчас❤️ Попробовать #реклама 18+ music.yandex.ru О рекламодателе Реклама на Яндексе

DocETL — это инструмент, предназначенный для извлечения, преобразования и загрузки данных из документов. Создан для обработки
DocETL — это инструмент, предназначенный для извлечения, преобразования и загрузки данных из документов. Создан для обработки текстовых данных, особенно из медицинских документов, но может применяться и в других областях. Основные особенности: 🔵Поддержка форматов PDF, DOCX и TXT. 🔵Извлечение текста из сложных документов с сохранением структуры. 🔵Очистка, нормализация и анализ данных. 🔵Сохранение преобразованных данных в базы данных или другие форматы. 🔵Специализированные функции для анализа медицинских терминов. 🔵Выявление и обработка чувствительных данных. 🔵Возможность подключения пользовательских функций для обработки данных. 🔵Интеграция с другими библиотеками и проектами. ➡️Установка библиотеки: pip install docetl 📱 Репозиторий ⚙️ Документация ➡️Справочник Программиста. Подписаться

Прокачаем ваш frontend скилл с junior до middle Научим писать код, который не стыдно показать Первые 7 дней бесплатно. Попроб
Прокачаем ваш frontend скилл с junior до middle Научим писать код, который не стыдно показать Первые 7 дней бесплатно. Попробуй! Узнать больше #реклама 16+ ykul.ru О рекламодателе

👀 Библиотека python-magic в Python Библиотека python-magic — это удобный интерфейс для работы с libmagic, популярной утилито
👀 Библиотека 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! Освой искусственный интеллект для профессионального роста: создавай нейросети, автоматизируй бизнес-задачи и зарабатывай на 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-мероприятие участников и спикеров. В течение дня
Первая 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+ О рекламодателе

👀 Библиотека Hatch в Python Библиотека Hatch предназначена для управления проектами и виртуальными окружениями, которая упро
+1
👀 Библиотека Hatch в Python Библиотека Hatch предназначена для управления проектами и виртуальными окружениями, которая упрощает процессы создания, настройки и публикации Python-пакетов. Позволяет эффективно управлять жизненным циклом своих проектов и поддерживать согласованную конфигурацию. Основные возможности библиотеки: 🔵Управление виртуальными окружениями: Позволяет создавать и управлять виртуальными окружениями, упрощая процесс работы с проектами. Автоматизирует создание окружений, управление их версиями и переключение между ними, обеспечивая изоляцию зависимостей для разных проектов. 🔵Гибкая настройка проекта: Вся конфигурация проекта хранится в одном файле — pyproject.toml. 🔵Сборка и публикация пакетов: Автоматически собирает Python-пакеты в распространённые форматы, такие как wheel и sdist. Также упрощает процесс публикации пакетов на PyPI или других репозиториях, позволяя быстро и без ошибок выкладывать проект. 🔵Управление зависимостями: Предоставляет удобные механизмы для установки и управления зависимостями. 🔵Плагины и расширяемость: Поддерживает расширения через плагины, что позволяет добавлять кастомную функциональность и улучшать процесс работы с проектом. 🔵Скрипты и команды: Позволяет определять собственные команды для выполнения различных задач, таких как тестирование, анализ кода или сборка. ➡️Установка библиотеки: pip install hatch 📱 Репозиторий ⚙️ Документация ➡️Справочник Программиста. Подписаться

Как разрабу или продакту в IT запустить свой проект? Работать в корпорации - страшно, жизнь мимо проходит. Строить бизнес - страшно, а вдруг прогорит Один из вариантов - пилить свой проект по вечерам. Ведь многие успешные компании, типа Твиттер, начинались как Пет проекты Мы не говорим, что пет проект обязательно заработает миллиарды. Но заработать денег больше, чем в найме, вполне реально, а уж опыта получить точно больше можно Но есть куча проблем: - Как выбрать идею для проекта? - Что нужно знать про маркетинг? - Как запуститься и довести до первых продаж не имея бюджета? Михаил Табунов сделал про все это телеграм канал, в котором пишет для разработчиков и менеджеров про свой опыт - где брать идею, что надо знать про маркетинг, как запускать и искать первых клиентов, и многое другое Подписаться #реклама О рекламодателе

👀 Библиотека six в Python Библиотека six предназначена для написания кода, который работает как в Python 2, так и в Python 3
👀 Библиотека six в Python Библиотека six предназначена для написания кода, который работает как в Python 2, так и в Python 3. Упрощает работу с различиями между этими версиями, такими как строки, модули, итераторы и исключения. Хотя Python 2 больше не поддерживается (официально с 2020 года), six полезна, если нужно поддерживать старый код или работать с проектами, рассчитанными на обе версии Python. Основные особенности библиотеки: 🔵Единый интерфейс для работы с различиями между Python 2 и 3. 🔵Поддержка стандартных библиотек, типов данных, строковых операций и модулей, которые изменились между версиями. 🔵Легкость использования: предоставляется в одном небольшом модуле. ➡️Установка библиотеки: pip install six 📱 Репозиторий ⚙️ Документация ➡️Справочник Программиста. Подписаться