Python Tech Code • IT
3.91K subscribers
1.02K photos
117 videos
34 files
953 links
Изучаем Python, осваиваем SQL и следим за IT-новостями.

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

Канал на бирже : https://telega.in/c/PythonTechCode
Download 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
👍21
🤜 SQL против Python

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


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


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

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

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

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

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

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

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

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

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

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

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3
😊 Преобразуйте PDF, Word и Excel в Markdown

MarkItDown – это инструмент, который позволяет преобразовывать различные файлы, такие как PowerPoint, PDF, Word, Excel и другие, в формат Markdown.

Эта функция позволяет легко и быстро превращать файлы в удобный для анализа формат.

Поддерживаемые форматы:

🟢PDF (.pdf)
🟢PowerPoint (.pptx)
🟢Word (.docx)
🟢Excel (.xlsx)
🟢Изображения (метаданные EXIF и технологии распознавания текста, OCR)
🟢Аудиофайлы (метаданные EXIF и транскрипция речи)
🟢HTML (включая специальную обработку для Википедии)
🟢Другие текстовые форматы (csv, json, xml и др.)


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


💻 GitHub

📌 Библиотека MarkItDown особенно полезна для анализа текстов внутри файлов.

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥1
💻 Ожидания vs. Реальность

▶️Многие приходят в IT с мыслью, что «писать код — это как собирать Лего», но сталкиваются с жёсткой реальностью: бесконечные ошибки, сложные концепции и задачи, которые кажутся нерешаемыми.
▶️Важно понять — это нормально. ▶️Даже senior-разработчики регулярно тратят часы на поиск одной пропущенной скобки или неправильного условия.


Как сохранять спокойствие
1️⃣ Делайте перерывы. 15 минут без кода часто помогают найти решение.
1️⃣ Разбирайте ошибки по шагам, а не пытайтесь исправить всё сразу.
1️⃣ Помните: даже гении программирования начинали с «Hello, World!» и таких же проблем.

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍105
🔥 Ключевые аспекты хорошего программирования: использование «безопасных» методов

Использование метода get для доступа к элементам словаря — это хорошая практика, так как это позволяет избежать ошибки KeyError, если ключа не существует.


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

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

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

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

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


┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
💎 Программирование включает в себя более сложную совокупность процессов, из которых кодирование является лишь одним

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
🔴Конвертация чисел между различными системами счисления на 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.

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
⬆️ Определения номинала резистора по его цветовой маркировке

Рассчитывается сопротивление по формуле:
(первая цифра * 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.

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥1
Варианты ответа:
Anonymous Quiz
20%
6
25%
7
34%
12
7%
None
14%
Ошибка
👍5
💎 Главное - не пытаться сразу взять максимальную нагрузку

Мозг программиста как кэш - нужно прогревать постепенно! 😎


┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8👍2
👩‍💻 Автоматизация управления кластерами PostgreSQL

Patroni — это мощное и гибкое решение для управления высокодоступными кластерами PostgreSQL.

Он выполняет роль внешнего сервиса по отношению к PostgreSQL, действуя как менеджер кластера.


🔵Основной задачей Patroni является обеспечение надежного переключения роли ведущего узла на резервный узел, что критически важно для высокодоступных систем.

Установка библиотеки:
pip install patroni[dependencies]


💻 GitHub

🔜 Этот инструмент существенно упрощает администрирование баз данных, обеспечивая автоматическое переключение ролей узлов, поддержку различных типов репликации и интеграцию с распределёнными системами хранения конфигурации.

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍21
🔥 Использование разных типов JOIN в SQL

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

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


┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1🔥1
🤓 Шпаргалка по основным командам Git

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

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

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

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

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


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

Циклы в Python — это один из основных инструментов для выполнения повторяющихся операций. Python предлагает два основных типа циклов: for и while.


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