Forwarded from Roblox
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
2 день разработки консоли
Сегодня я добавил новые команды. В частности это команды для получения информации о своём компьютере и добавил немного математики. Также добавил фановые команды (бросок кубика и прокрутка барабана). Планирую написать мини приложение на customTkinter для запуска этой консоли (возможно перепишу его на PyQt6, когда изучу). Пока что всё....
Сегодня я добавил новые команды. В частности это команды для получения информации о своём компьютере и добавил немного математики. Также добавил фановые команды (бросок кубика и прокрутка барабана). Планирую написать мини приложение на customTkinter для запуска этой консоли (возможно перепишу его на PyQt6, когда изучу). Пока что всё....
Тренируем мозги с задачами по ML и AI.
Я сам по ним учусь
Два незаменимых ресурса для практики в машинном обучении и нейросетях:
▶️ Deep-ML — задачи по линейной алгебре, машинному и глубокому обучению. Подходит для постепенного погружения.
▶️ Tensorgym — упражнения разного уровня сложности, чтобы закрепить теорию и прокачать практику.
Идеально подойдёт, если хотите подтянуть навыки и разобраться в тонкостях ML
Я сам по ним учусь
Два незаменимых ресурса для практики в машинном обучении и нейросетях:
▶️ Deep-ML — задачи по линейной алгебре, машинному и глубокому обучению. Подходит для постепенного погружения.
▶️ Tensorgym — упражнения разного уровня сложности, чтобы закрепить теорию и прокачать практику.
Идеально подойдёт, если хотите подтянуть навыки и разобраться в тонкостях ML
Превращаем текст в голос!
Устанавливаем библиотеку:
Импортируем класс
Задаём текст для озвучки:
Создаём объект
Сохраняем аудио в файл:
Воспроизводим результат в зависимости от ОС:
🔥 Запускаем скрипт и текст превращается в голос, готовый к прослушиванию.
Устанавливаем библиотеку:
pip install gTTS
Импортируем класс
gTTS модуля gtts и os:from gtts import gTTS
import os
Задаём текст для озвучки:
text = "Привет! Этот текст превращается в голос."
Создаём объект
gTTS с русским языком:tts = gTTS(text=text, lang="ru")
Сохраняем аудио в файл:
tts.save("voice.mp3")Воспроизводим результат в зависимости от ОС:
os.system("start voice.mp3") # Windows
# os.system("open voice.mp3") # macOS
# os.system("xdg-open voice.mp3") # Linux🔥 Запускаем скрипт и текст превращается в голос, готовый к прослушиванию.
❤1
Превращаем текст в баннер с помощью ✨ pyfiglet ✨
С помощью библиотеки pyfiglet на python можно преобразовать слово в ASCII-арт или в баннер для своих проектов.
Как работает эта библиотека❓
У неё есть много .fig файлов, из которых она достаёт ASCII-текст и собирает из них слово.
Установка pyfiglet:
Самый простой пример программы для преобразования текста с помощью figlet_format:
Пример вывода этой программы:
Вот ещё один пример с ручным указанием шрифта с помощью Figlet. По умолчанию standart
Вот вывод программы:
Как узнать сколько шрифтов доступно в pyfiglet❓
Вот небольшая программа для того чтобы узнать сколько шрифтов поддерживает ваша версия pyfiglet:
С помощью библиотеки pyfiglet на python можно преобразовать слово в ASCII-арт или в баннер для своих проектов.
Как работает эта библиотека❓
У неё есть много .fig файлов, из которых она достаёт ASCII-текст и собирает из них слово.
Установка pyfiglet:
pip install pyfiglet
Самый простой пример программы для преобразования текста с помощью figlet_format:
import pyfiglet
text = 'Hello'
art = pyfiglet.figlet_format(text)
print(art)
Пример вывода этой программы:
_ _ _ _
| | | | ___| | | ___
| |_| |/ _ \ | |/ _ \
| _ | __/ | | (_) |
|_| |_|\___|_|_|\___/
Вот ещё один пример с ручным указанием шрифта с помощью Figlet. По умолчанию standart
import pyfiglet
fig = pyfiglet.Figlet(font='slant')
art = fig.renderText('Hello')
print(art)
Вот вывод программы:
__ __ ____
/ / / /__ / / /___
/ /_/ / _ \/ / / __ \
/ __ / __/ / / /_/ /
/_/ /_/\___/_/_/\____/
Как узнать сколько шрифтов доступно в pyfiglet❓
Вот небольшая программа для того чтобы узнать сколько шрифтов поддерживает ваша версия pyfiglet:
import pyfiglet
# Получить список всех доступных шрифтов
all_fonts = pyfiglet.FigletFont.getFonts()
print(f"Всего доступно шрифтов: {len(all_fonts)}")
print("Все шрифты")
for i, font in enumerate(all_fonts[:len(all_fonts)], 1):
print(f"{i:2d}. {font}")
❤1❤🔥1🤩1🕊1
Модуль atexit в python 🐍
Модуль atexit позволяет запустить какие-либо функции, которые будут выполнены при нормальном завершении программы
Этот модуль не надо устанавливать так как он встроен в python 🐍
Вот пример того как использовать модуль atexit в программах:
После выполнения этой программы корректно, то функция cleanup_function() выполнится.
Вот что выведется в терминале:
Также уже зарегистрированную функцию можно отклонить регистрацию функции:
Таким образом в терминале последняя функция выводится не будет:
Также функцию atexit.register можно использовать как декоратор для функции:
Выведет в терминал:
✨ Я думаю что эта библиотека довольно полезная. Например можно после выполнении программы очищать программу от ненужных файлов, которые были созданы при выполнении программы ✨
Модуль atexit позволяет запустить какие-либо функции, которые будут выполнены при нормальном завершении программы
Этот модуль не надо устанавливать так как он встроен в python 🐍
Вот пример того как использовать модуль atexit в программах:
import atexit
def cleanup_function():
print("Выполняется очистка...")
# Регистрация функции
atexit.register(cleanup_function)
def square_number(n):
return n**2
nums = [1, 2, 3, 4, 5]
print(list(map(square_number, nums)))
После выполнения этой программы корректно, то функция cleanup_function() выполнится.
Вот что выведется в терминале:
[1, 4, 9, 16, 25]
Выполняется очистка...
Также уже зарегистрированную функцию можно отклонить регистрацию функции:
import atexit
def cleanup_function():
print("Выполняется очистка...")
# Регистрация функции
atexit.register(cleanup_function)
def square_number(n):
return n**2
nums = [1, 2, 3, 4, 5]
print(list(map(square_number, nums)))
#Отклонение регистрации функции
atexit.unregister(cleanup_function)
Таким образом в терминале последняя функция выводится не будет:
[1, 4, 9, 16, 25]
Также функцию atexit.register можно использовать как декоратор для функции:
import atexit
@atexit.register #Регистрация с помощью декоратора
def cleanup_function():
print("Выполняется очистка...")
def square_number(n):
return n**2
nums = [1, 2, 3, 4, 5]
print(list(map(square_number, nums)))
Выведет в терминал:
[1, 4, 9, 16, 25]
Выполняется очистка...
✨ Я думаю что эта библиотека довольно полезная. Например можно после выполнении программы очищать программу от ненужных файлов, которые были созданы при выполнении программы ✨
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Я пошёл зарабатывать...
Библиотека notify-py в python 🐍
С помощью этой библиотеки вы сможете получать сообщения python как от системы
Установка notify-py:
Настройка сообщения от системы:
На фото изображено как будет выглядеть сообщение от этой программы
✨ Эту библиотеку можно использовать для визуализации выполнения программы. Например при удачном выполнении программы будет выводится "Программа выполнена успешно..", а при неудачном "Программа была выполнена некорректно.." ✨
С помощью этой библиотеки вы сможете получать сообщения python как от системы
Установка notify-py:
pip install notify-py
Настройка сообщения от системы:
from notifypy import Notice
notification = Notice() #создаём объект сообщение
notification.title = 'Готово' #Ставим название сообщение
notification.message = 'Скрипт выполнен...' #Указываем текст сообщения
notification.send() #отправляем сообщение
На фото изображено как будет выглядеть сообщение от этой программы
✨ Эту библиотеку можно использовать для визуализации выполнения программы. Например при удачном выполнении программы будет выводится "Программа выполнена успешно..", а при неудачном "Программа была выполнена некорректно.." ✨
Моржовый оператор в python 🐍
Этот оператор позволяет присваивать значение переменной внутри выражения. Он появился в Python 3.8
Например, выражение без моржового оператора:
Тот же код с использованием моржового оператора:
Пример с использованием циклов.
1️⃣ пример:
2️⃣ пример:
✨ Этот оператор при правильном использовании сделает ваш код чище и меньше ✨
Этот оператор позволяет присваивать значение переменной внутри выражения. Он появился в Python 3.8
Например, выражение без моржового оператора:
user_id = 1
if user_id == 1:
print(user_id)
Тот же код с использованием моржового оператора:
if (user_id := 1) == 1:
print(user_id)
Пример с использованием циклов.
1️⃣ пример:
for num in (nums := [1, 2, 3, 4, 5]).copy():
nums.append(num**2)
nums.pop(0)
print(nums)
2️⃣ пример:
nums = [1, 2, 2, 3, 2, 28, 19, 2]
while (num := 2) in nums:
print(nums)
nums.pop(0)
✨ Этот оператор при правильном использовании сделает ваш код чище и меньше ✨
Детекция лиц на изображении в python 🐍
RetinaFace - библиотека для обнаружения лиц на изображении. Она определяет лицо по 5 ключевым точкам (landmarks) - это нос, правый глаз, левый глаз, правый уголок рта и левый уголок рта.
С помощью этой библиотеки можно определять сколько человек изображено на изображении (видео).
⚡️ Установка ⚡️:
Какие интересные проекты можно сделать с помощью этой библиотеки:
1️⃣. Сколько лиц на изображении в тг боте (или без бота)
2️⃣. Сколько лиц на видео в реальном времени (с помощью cv2)
3️⃣. Определение настроения (подставлять смайлик по выражению лица 😊) с помощью ключевых точек (landmarks)
✨ С помощью этой библиотеки можно работать с компьютерным зрением. Работает библиотека стабильно на версии Python 3.8 ✨
RetinaFace - библиотека для обнаружения лиц на изображении. Она определяет лицо по 5 ключевым точкам (landmarks) - это нос, правый глаз, левый глаз, правый уголок рта и левый уголок рта.
С помощью этой библиотеки можно определять сколько человек изображено на изображении (видео).
⚡️ Установка ⚡️:
pip install retina-face
Какие интересные проекты можно сделать с помощью этой библиотеки:
1️⃣. Сколько лиц на изображении в тг боте (или без бота)
2️⃣. Сколько лиц на видео в реальном времени (с помощью cv2)
3️⃣. Определение настроения (подставлять смайлик по выражению лица 😊) с помощью ключевых точек (landmarks)
✨ С помощью этой библиотеки можно работать с компьютерным зрением. Работает библиотека стабильно на версии Python 3.8 ✨
🤩1
[*] pr0gramm1ng basics
Photo
Сделал небольшой код на python 🐍 с использованием библиотеки RetinaFace 😶
Вот сам код:
В коде есть небольшое объяснение, но немного поясню сам. Метод detect_faces возвращает список словарей:
Здесь score - это уверенность (насколько модель уверена, что на изображении есть лицо), facial_area - координаты ограничивающего прямоугольника: [x1, y1, x2, y2], где: (x1, y1) — верхний левый угол, (x2, y2) — нижний правый угол, landmarks - ключевые точки (нос, правый уголок рта, левый уголок рта, правый глаз, левый глаз).
⚡️ Что делает программа: указываешь путь к файлу (обязательно изображение) и программа на этом изображении ищет лица и прикрепляет к ним квадраты. На фотографиях есть изображение до обработки и после ⚡️
Вот сам код:
from retinaface import RetinaFace
import cv2
path_to_file = 'image_1.png' # путь к файлу на вашем пк
image = cv2.imread(path_to_file) # открываем файл
if image is None:
raise FileNotFoundError(f"Не удалось загрузить изображение: {image}")
resp = RetinaFace.detect_faces('image_1.png') # считываем лица
if isinstance(resp, dict): # есть ли лица на фото
for face_id, face_info in resp.items(): # из словаря достаёём значения для построения квадрата на лицо
facial_area = face_info["facial_area"]
x1, y1, x2, y2 = facial_area
cv2.rectangle(image, (x1, y1), (x2, y2), (255, 0, 0), 2) # отображаем квадрат
cv2.imwrite("output_image_path.png", image) # сохраняем
print(f"Изображение с обнаруженными лицами сохранено как: output_image_path.png")
В коде есть небольшое объяснение, но немного поясню сам. Метод detect_faces возвращает список словарей:
{
"face_1": {
"score": 0.999,
"facial_area": [x1, y1, x2, y2],
"landmarks": {
"left_eye": [x, y],
"right_eye": [x, y],
"nose": [x, y],
"mouth_left": [x, y],
"mouth_right": [x, y]
}
},
"face_2": {
"score": 0.987,
"facial_area": [x1, y1, x2, y2],
"landmarks": { ... }
},
...
}Здесь score - это уверенность (насколько модель уверена, что на изображении есть лицо), facial_area - координаты ограничивающего прямоугольника: [x1, y1, x2, y2], где: (x1, y1) — верхний левый угол, (x2, y2) — нижний правый угол, landmarks - ключевые точки (нос, правый уголок рта, левый уголок рта, правый глаз, левый глаз).
⚡️ Что делает программа: указываешь путь к файлу (обязательно изображение) и программа на этом изображении ищет лица и прикрепляет к ним квадраты. На фотографиях есть изображение до обработки и после ⚡️
🔥1
[*] pr0gramm1ng basics
Photo
Библиотека Tensorflow на python 🐍
Tensorflow - мощный фреймворк с открытым исходным кодом для машинного обучения и разработки нейросетей, разработанный компанией Google.
Установка:
Также в этой библиотеке есть встроенный API Keras. Он полностью интегрирован в Tensorflow.
🤖 Пример нейросети на Tensorflow:
⚡ Для каких задач чаще всего используется Tensorflow:
1. Компьютерное зрение (Computer Vision). Например библиотека Mediapipe.
2. Обработка естественного языка. Например, определение тональности (NLTK + Tensorflow), машинный перевод (Tensorflow + Transformers (Hugging Face)), генерация текста (чат-боты)
3. Обработка звука и речи (Tensorflow Audio или Tensorflow + Librosa)
🔥 Щас на этой библиотеке я работаю над созданием своей нейросети. Она будет распознавать цифры, который я ей написал. Вчера 5 часов делал датасет и переобучил нейросеть. Сегодня придётся новый делать, поэтому не знаю когда дам её код. Стабильно библиотека работает на версии Python 3.8 🔥
Tensorflow - мощный фреймворк с открытым исходным кодом для машинного обучения и разработки нейросетей, разработанный компанией Google.
Установка:
pip install tensorflow
Также в этой библиотеке есть встроенный API Keras. Он полностью интегрирован в Tensorflow.
🤖 Пример нейросети на Tensorflow:
import tensorflow as tf #импортируем
# 1. Загрузка данных (встроенный датасет)
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0 # Нормализация
# 2. Построение модели
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)), # Сглаживаем изображение 28x28 в вектор
tf.keras.layers.Dense(128, activation='relu'), # Полносвязный слой на 128 нейронов
tf.keras.layers.Dropout(0.2), # Регуляризация для борьбы с переобучением
tf.keras.layers.Dense(10) # Выходной слой на 10 классов (цифры 0-9)
])
# 3. Компиляция модели
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
# 4. Обучение модели
model.fit(x_train, y_train, epochs=5)
# 5. Оценка качества
model.evaluate(x_test, y_test, verbose=2)
⚡ Для каких задач чаще всего используется Tensorflow:
1. Компьютерное зрение (Computer Vision). Например библиотека Mediapipe.
2. Обработка естественного языка. Например, определение тональности (NLTK + Tensorflow), машинный перевод (Tensorflow + Transformers (Hugging Face)), генерация текста (чат-боты)
3. Обработка звука и речи (Tensorflow Audio или Tensorflow + Librosa)
🔥 Щас на этой библиотеке я работаю над созданием своей нейросети. Она будет распознавать цифры, который я ей написал. Вчера 5 часов делал датасет и переобучил нейросеть. Сегодня придётся новый делать, поэтому не знаю когда дам её код. Стабильно библиотека работает на версии Python 3.8 🔥
TensorFlow
An end-to-end open source machine learning platform for everyone. Discover TensorFlow's flexible ecosystem of tools, libraries and community resources.
MyFirstNeiro.rar
2.8 MB
Сделал свою нейросеть на python 🐍 при помощи библиотеки TensorFlow 🔥
Скрипты писал меньше часа, а саму нейросеть обучал почти 2 дня (методом проб и ошибок).
Так вот, что она делает?
🤖 Моя нейросеть умеет распознавать цифры 0-9. Обучена на данных MNIST (также сделал скрипты для создания своего датасета для моей нейросети).
Зависимости:
- TensorFlow (версия: 2.13.0)
- NumPy (версия: 1.24.3)
- Pillow (версия: 10.4.0)
- Pygame (версия: 2.6.1)
Нейросеть зовут - Овощ 🍆 (ну просто она реально овощ). Версия Python 3.8 ✨
GitHub репозиторий: my_first_neiro
Скрипты писал меньше часа, а саму нейросеть обучал почти 2 дня (методом проб и ошибок).
Так вот, что она делает?
🤖 Моя нейросеть умеет распознавать цифры 0-9. Обучена на данных MNIST (также сделал скрипты для создания своего датасета для моей нейросети).
Зависимости:
- TensorFlow (версия: 2.13.0)
- NumPy (версия: 1.24.3)
- Pillow (версия: 10.4.0)
- Pygame (версия: 2.6.1)
Нейросеть зовут - Овощ 🍆 (ну просто она реально овощ). Версия Python 3.8 ✨
GitHub репозиторий: my_first_neiro
👍1
Библиотека PyUSB в python 🐍
Это библиотека нужна для работы с USB устройствами (не всеми). Она является низкоуровневой и самой распространенной библиотекой для работы с USB. Эта библиотека поддерживается на Windows, Linux и MacOs (кроссплатформенная).
Пример кода на PyUSB:
Что такое PID и VID?
PID (Product id) - это идентификатор продукта. Он придумывается производителем для какого-либо устройства
VID (Vendor id) - это идентификатор производителя. Он назначается организацией USB-IF (официальная ассоциация USB)
👉 Вместе VID и PID полностью идентифицируют конкретную модель устройства
Вот пример кода для того чтобы узнать VID, PID и название продукта (product):
✨ Есть конечно и библиотеки получше, чем PyUSB (например, hidapi (или hid), pyserial), но пока что решил рассказать про неё ✨
Документация 👉 PyUSB 👈
Это библиотека нужна для работы с USB устройствами (не всеми). Она является низкоуровневой и самой распространенной библиотекой для работы с USB. Эта библиотека поддерживается на Windows, Linux и MacOs (кроссплатформенная).
Пример кода на PyUSB:
import usb.core
import usb.util
# Найти устройство по VID и PID
dev = usb.core.find(idVendor=0x1234, idProduct=0x5678)
if dev is None:
raise ValueError("Устройство не найдено")
# Установить конфигурацию
dev.set_configuration()
# Отправить данные
dev.write(1, b'Hello USB')
Что такое PID и VID?
PID (Product id) - это идентификатор продукта. Он придумывается производителем для какого-либо устройства
VID (Vendor id) - это идентификатор производителя. Он назначается организацией USB-IF (официальная ассоциация USB)
👉 Вместе VID и PID полностью идентифицируют конкретную модель устройства
Вот пример кода для того чтобы узнать VID, PID и название продукта (product):
import usb.core
for dev in usb.core.find(find_all=True):
print(hex(dev.idVendor), hex(dev.idProduct), dev.product)
✨ Есть конечно и библиотеки получше, чем PyUSB (например, hidapi (или hid), pyserial), но пока что решил рассказать про неё ✨
Документация 👉 PyUSB 👈
Превращаем голос в текст 🔥
Чтобы перевести голос в текст в python можно воспользоваться библиотекой speech_recognition.
Speech_recognition - библиотека для распознавания речи в python. Она поддерживает несколько движков и API
Установка:
Пример с обработкой звука из микрофона:
В этом примере мы используем эту библиотеку для распознавания записанной нами речи через микрофон.
Эта библиотека также поддерживает работу с файлами (перевод звуков из файла в текст):
✨ Эта библиотека подходит для распознавания голоса и его перевода в текст, но чаще всего используют другие библиотеки, но для начала её хватит ✨
Чтобы перевести голос в текст в python можно воспользоваться библиотекой speech_recognition.
Speech_recognition - библиотека для распознавания речи в python. Она поддерживает несколько движков и API
Установка:
pip install SpeechRecognition
# Для работы с микрофоном
pip install pyaudio
Пример с обработкой звука из микрофона:
import speech_recognition as sr
# Создаем распознаватель
recognizer = sr.Recognizer()
def recognize_speech():
with sr.Microphone() as source:
print("Скажите что-нибудь...")
# Настройка для уменьшения шума
recognizer.adjust_for_ambient_noise(source, duration=1)
# Запись аудио
audio = recognizer.listen(source, timeout=5)
# Распознавание через Google
text = recognizer.recognize_google(audio, language="ru-RU")
print(f"Вы сказали: {text}")
recognize_speech()
В этом примере мы используем эту библиотеку для распознавания записанной нами речи через микрофон.
Эта библиотека также поддерживает работу с файлами (перевод звуков из файла в текст):
import speech_recognition as sr
def recognize_from_file(filename):
recognizer = sr.Recognizer()
with sr.AudioFile(filename) as source:
# Чтение всего аудиофайла
audio = recognizer.record(source)
text = recognizer.recognize_google(audio, language="ru-RU")
return text
# Использование
result = recognize_from_file("audio.wav")
print(result)
✨ Эта библиотека подходит для распознавания голоса и его перевода в текст, но чаще всего используют другие библиотеки, но для начала её хватит ✨
Библиотека socket в python 🐍
Socket - это библиотека для обмена данными между компьютерами. С её помощью можно установить соединение какого-либо компьютера (клиента) к другому компьютеру (серверу) и по сети передавать данные. Эта библиотека кроссплатформенная (подходит для Linux, Windows, MacOs). Также она поддерживает различные протоколы (TCP, UPD, RAW сокеты).
Пример кода клиента:
Пример сервера с socket:
Семейства адресов, которые может использовать socket:
1. Socket.AF_INET - это IPv4
2. Socket.AF_INET6 - это IPv6
3. Socket.AF_UNIX - это UNIX-сокеты
Типы сокетов:
1. Socket.SOCK_STREAM - TCP (надёжный, с установкой соединения)
2. Socket.SOCK_DGRAM - UPD (ненадёжный, без соединения)
✨ С помощью библиотеки socket можно реализовать простейший мессенджер в консоли, чтобы обмениваться информацией с клиентом и сервером ✨
Socket - это библиотека для обмена данными между компьютерами. С её помощью можно установить соединение какого-либо компьютера (клиента) к другому компьютеру (серверу) и по сети передавать данные. Эта библиотека кроссплатформенная (подходит для Linux, Windows, MacOs). Также она поддерживает различные протоколы (TCP, UPD, RAW сокеты).
Пример кода клиента:
import socket
def start_client():
# создаём объект сокета с TCP подключением к IPv4
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# подключаем клиента к серверу
client_socket.connect(('localhost', 12345))
message = "Привет, сервер!"
# отправляем сообщение серверу
client_socket.sendall(message.encode())
# получаем ответ от сервера
response = client_socket.recv(1024)
print(f"Ответ сервера: {response.decode()}")
# закрываем сокет
client_socket.close()
if __name__ == "__main__":
start_client()
Пример сервера с socket:
import socket
def start_server():
# создаём объект сокета для сервера с TCP подключением и IPv4
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# привязываем к адресу и порту server_socket.bind(('localhost', 12345))
# слушаем
server_socket.listen(1)
print("Сервер запущен...")
while True:
# принимаем подключение клиента
client_socket, addr = server_socket.accept()
print(f"Подключен клиент: {addr}")
# получаем данные от клиента
data = client_socket.recv(1024)
print(f"Получено: {data.decode()}")
# Отправляем данные обратно
client_socket.sendall(data)
client_socket.close()
if __name__ == "__main__":
start_server()
Семейства адресов, которые может использовать socket:
1. Socket.AF_INET - это IPv4
2. Socket.AF_INET6 - это IPv6
3. Socket.AF_UNIX - это UNIX-сокеты
Типы сокетов:
1. Socket.SOCK_STREAM - TCP (надёжный, с установкой соединения)
2. Socket.SOCK_DGRAM - UPD (ненадёжный, без соединения)
✨ С помощью библиотеки socket можно реализовать простейший мессенджер в консоли, чтобы обмениваться информацией с клиентом и сервером ✨
hand.py
4.3 KB
Программа на Mediapipe для распознавания 7 жестов рук (палец вверх/вниз, ножницы, бумага, камень, рок 🤟, указательный палец вверх)
Требования 🛠️
- Python 3.10
- MediaPipe
- NumPy
- OpenCV
✨ Также этот скрипт есть на моём 👉 GitHub 👈 с зависимостями ✨
Требования 🛠️
- Python 3.10
- MediaPipe
- NumPy
- OpenCV
✨ Также этот скрипт есть на моём 👉 GitHub 👈 с зависимостями ✨