Python Tech Code • IT
3.81K subscribers
939 photos
107 videos
32 files
868 links
Изучаем Python, осваиваем SQL и следим за IT-новостями.

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

Канал на бирже : https://telega.in/c/PythonTechCode
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
💻 Python функции

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
🎙 Преобразовываем текст из PDF в аудиофайл

Для работы понадобятся две библиотеки: pdfplumber и gTTS.

🔵pdfplumber позволяет извлекать текст и другие элементы (например, таблицы) из PDF файлов. Она удобна для работы с PDF-документами и позволяет извлекать текст с разных страниц.

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


🔵Библиотека gTTS применяется для преобразования текста в речь, использующая API Google. Она позволяет создавать аудиофайлы в различных языках (включая русский).

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


📣 Этот скрипт извлечет текст из PDF и сохранит его в виде аудиофайла формата MP3.

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
📶Исходный код для восстановления забытых паролей от 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 — встроенную утилиту).
✔️Требует прав администратора для доступа к паролям.
✔️Пароли показываются только для текущего пользователя (если они не защищены дополнительно).
✔️Если пароль не сохранён (например, вводился вручную), он не будет извлечён.

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟Первая строка кода import os загружает весь модуль os как объект.

Это полезно, потому что сразу видно, откуда берется функция, и это помогает избежать конфликтов имен.

🌟Вторая строка from os import * импортирует все функции и переменные из модуля os прямо в текущее пространство, но это может вызвать проблемы с именами, если есть одинаковые названия функций.

Кроме того, становится менее понятно, откуда взята функция.

🔥Поэтому лучше использовать import os — так стиль кода становится более ясным и безопасным.

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему сообщение может быть бесполезным

Типичная ситуация: Вы видите сообщение ERROR: SQL syntax error at or near, но оно не указывает, в каком именно месте запроса ошибка — это как сказать "у вас опечатка где-то в тексте", не выделяя её.

Что делать:
➡️Разбейте запрос на части и проверьте каждую отдельно.
➡️Используйте подсветку синтаксиса в редакторе (например, DBeaver, VS Code).

📌Вывод: Такие сообщения действительно часто бесполезны — приходится искать ошибку вручную, как иголку в стоге сена.

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🔨 Я не бездельничаю, я в режиме дебага

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
🕒 Скрипт для создания цифровых часов с помощью Tkinter

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

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

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM