Pro Python • IT
4.13K subscribers
1.32K photos
140 videos
38 files
1.27K links
Pro Python — авторский канал с полезными советами, материалами и новостями по Python-программированию.

Сотрудничество (реклама): @NotPriceMedia

Канал на бирже : https://telega.in/c/PythonTechCode
Download Telegram
⌨️ Как превратить PDF в аудиофайл

Нужно установить две библиотеки:

🟡pdfplumber — вытаскивает текст из PDF.
pip install pdfplumber


🟡gTTS — преобразует текст в речь.
pip install gTTS


Скрипт берёт текст из PDF и сохраняет его как MP3-файл.

📲 Еще больше полезных скриптов в нашем Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥1
⌨️ Методы списков Python

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


📲 Мы в Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
🤜 SQL против Python

🔴SQL отлично подходит для управления и выполнения запросов в структурированных базах данных.
Он отлично справляется с такими задачами, как фильтрация, сортировка и агрегация данных.


🔵С другой стороны, Python — это многоцелевой язык программирования, который используется для широкого спектра задач, включая веб-разработку, автоматизацию, анализ данных, научные вычисления и машинное обучение.
Он предлагает библиотеки, такие как Pandas для обработки данных, NumPy для числовых операций и Scikit-Learn для машинного обучения.


✴️Подводя итог, можно сказать, что SQL необходим для эффективного выполнения запросов к базе данных, в то время как Python обеспечивает более комплексное решение для различных задач, связанных с данными, что позволяет часто использовать их вместе в рабочих процессах, связанных с данными.

📲 Мы в Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
3
👀 Кто лишний?

В отличие от языков программирования, HTML не содержит конструкций для управления потоком выполнения, таких как циклы, условные операторы, функции или переменные.

Его основная функция — описать структуру и содержимое веб-страницы с помощью тегов и атрибутов.


📲 Мы в Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
⌨️ Исходный код для восстановления забытых паролей от Wi-Fi

# Импорт модуля для выполнения системных команд
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, "Ошибка получения данных"))


Важные нюансы:
✔️Работает только в Windows (использует netsh — встроенную утилиту).
✔️Требует прав администратора для доступа к паролям.
✔️Пароли показываются только для текущего пользователя (если они не защищены дополнительно).
✔️Если пароль не сохранён (например, вводился вручную), он не будет извлечён.

📲 Мы в Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10
⌨️ Преобразуйте PDF, Word и Excel в Markdown

MarkItDown — это инструмент для преобразования файлов в формат Markdown. Он поддерживает самые разные типы документов: от офисных форматов вроде PDF, Word и Excel до изображений, аудио и даже HTML-страниц.

Библиотека умеет извлекать текст, метаданные, а при необходимости использует распознавание речи или OCR.

Установка библиотеки:
pip install markitdown


⚙️ Документация

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

📲 Мы в Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
⌨️ Разминка мозга

Ох уж эти циклы. 🤯


📲 Мы в Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🤣 Анекдот дня

— Ты почему всё время на Python пишешь?
— Ну, мне сказали: «Тебе стоит попробовать Python, бро».
— И что?
— А я попробовал… Теперь tuple не изменить, list не остановить, а от indentation error спасает только кофе!

(Намек на неизменяемость tuple, гибкость list и вечные проблемы с отступами в Python.)

📲 Мы в Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2😁2
🖥 Сравнительная таблица характеристик коллекций в Python

Когда использовать:
🟢List: Используйте, когда вам нужна изменяемая последовательность элементов. Подходит для списков задач или других коллекций, где порядок и возможность изменения важны.

🟢Tuple: Выбирайте, если у вас есть данные, которые не должны изменяться. Подходит для фиксированных наборов данных, таких как координаты или константы.

🟢Set: Используйте, когда вам нужно хранить уникальные элементы и выполнять операции над ними, такие как объединение и пересечение.


Важные нюансы:
🟠
Элементы в Set должны быть хешируемыми (например, числа, строки, кортежи).
🟠
Хотя порядок в Set появился в Python 3.7+, лучше не полагаться на него в логике программы.


📲 Мы в Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
🕒 Скрипт для создания цифровых часов с помощью Tkinter

Программа создает фиолетовые цифровые часы с белым текстом, которые обновляются каждую секунду.

👇Исходный код
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
clock_pythontechcode.py
1.1 KB
💾 Цифровые часы

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


📲 Мы в Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤓 Шпаргалка по основным командам Git

🔜Создание репозитория (init, add, commit, remote add).

〰️Работа с изменениями (status, add -p для интерактивного добавления).

История и анализ (log, blame для отслеживания правок).

🔛Управление ветками (branch, checkout).

Отмена действий (reset, revert).


📲 Мы в Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
🔨 Я не бездельничаю, я в режиме дебага

📲 Мы в Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
6😁4
🧊 Пять способов перевернуть список в Python

🟣append() — понятный, но медленный.

🔵Цикл — меняет элементы на месте, но сложный код.

🔵reversed() — читаемый, но требует преобразования в список.

🟡Срезы [::-1] — самый быстрый и лаконичный.

🟢reverse() — модифицирует исходный список, но эффективный.


📲 Мы в Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
⬆️ Определения номинала резистора по его цветовой маркировке

Рассчитывается сопротивление по формуле:
(первая цифра * 10 + вторая цифра) * (10^третья цифра).

⬇️Пример:
# Список цветов резистора в порядке их числовых значений (0-9)
цвета = ["black", "brown", "red", "orange", "yellow", "green", "blue", "violet", "grey", "white"]

# Получаем числовые значения для каждой цветной полосы
n = цвета.index((input("Введите 1-й цвет: ")))
m = цвета.index((input("Введите 2-й цвет: ")))
p = цвета.index((input("Введите 3-й цвет: ")))

# Рассчитываем сопротивление
q = int(((n*10) + (m)) * (10**(p)))
z = q / 1000 # Переводим в килоомы

# Выводим результат
print("\nЗначение резистора:")
print(f"{q}Ω и в килоомах: {z}kΩ")


📎Выше представлен простой инструмент для декодирования цветовых полос резисторов с помощью Python.

📲 Мы в Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3
💎 Программирование включает в себя более сложную совокупность процессов, из которых кодирование является лишь одним

📲 Мы в Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
👀3🔥2
🔴Конвертация чисел между различными системами счисления на Python

Пример:
# 1. Десятичная → Двоичная
decimal_num = 10
binary_num = bin(decimal_num) # Префикс '0b' указывает на двоичную систему
print(binary_num) # Вывод: 0b1010 (не 'ob1010' с маленькой o)

# 2. Двоичная → Десятичная
binary_num = '1010'
decimal_num = int(binary_num, 2) # Второй аргумент 2 - основание системы
print(decimal_num) # Вывод: 10

# 3. Десятичная → Восьмеричная
decimal_num = 10
octal_num = oct(decimal_num) # Префикс '0o'
print(octal_num) # Вывод: 0o12 (не '0012')

# 4. Восьмеричная → Десятичная
octal_num = '12'
decimal_num = int(octal_num, 8)
print(decimal_num) # Вывод: 10

# 5. Десятичная → Шестнадцатеричная
decimal_num = 10
hex_num = hex(decimal_num) # Префикс '0x'
print(hex_num) # Вывод: 0xa

# 6. Шестнадцатеричная → Десятичная
hex_num = 'a' # Регистр букв неважен (A-F/a-f)
decimal_num = int(hex_num, 16)
print(decimal_num) # Вывод: 10


📌Это стандартные методы Python для работы с системами счисления, корректные для версий Python 3.x.

📲 Мы в Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
🔥 Использование разных типов JOIN в SQL

SQL JOIN — это инструмент для объединения данных из разных таблиц в реляционных базах данных.

Различные типы JOIN позволяют извлекать данные в зависимости от требований анализа.


📲 Мы в Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
⌨️«Движок» для создания караоке-треков

python-audio-separator — это библиотека, созданная для упрощения процесса разделения аудиотреков на голосовую и инструментальную части.

Главная функция библиотеки — удаление вокала из аудиотреков с минимальными потерями в качестве звука.
Библиотека поддерживает множество форматов аудио, таких как MP3, WAV, и другие.


Установка библиотеки:
pip install "audio-separator[gpu]"


⚙️ Документация

Библиотека использует различные методы машинного обучения, чтобы гарантировать высокое качество обработки и стабильную работу.

📲 Мы в Max – подписывайся
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3