Справочник Программиста
6.36K subscribers
1.3K photos
376 videos
64 files
1.63K links
По рекламе - @it_start_programmer
Мои курсы - @courses_from_it_start_bot
Сайт - https://it-start.online/
YouTube - https://www.youtube.com/@it_start
Реклама на бирже - https://telega.in/c/programmersGuide_1

Предложить идею: @it_start_suggestion_bot
Download Telegram
🗺Код для быстрого получения координат городов на Python

Для получения координат в коде используется библиотека geopy.

➡️Установка библиотек: pip install geopy

from geopy.geocoders import Nominatim

# Создаем объект класса Nominatim
geolocator = Nominatim(user_agent="my_app")

# Список городов
addresses = ["Уфа", "Нижневартовск", "Нижний Новгород"]

# Пустой список для хранения координат
coordinates = []

# Проходимся по каждому городу
for address in addresses:
# Получаем координаты
location = geolocator.geocode(address)
if location:
# Извлекаем широту и долготу
latitude = location.latitude
longitude = location.longitude
# Добавляем координаты в список
coordinates.append((latitude, longitude))

# Выводим координаты городов
print("Координаты городов:")
for i, coordinate in enumerate(coordinates):
print(f"{i+1}. Координаты города '{addresses[i]}': {coordinate}")

# Вывод:
# Координаты городов:
# 1. Координаты города 'Уфа': (54.7261409, 55.947499)
# 2. Координаты города 'Нижневартовск': (60.9391866, 76.55117870683605)
# 3. Координаты города 'Нижний Новгород': (56.3264816, 44.0051395)


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍7❤‍🔥2
👀 Библиотека tabulate в Python

Библиотека tabulate даёт возможность создавать красиво отформатированные таблицы данных.

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

Основные варианты использования библиотеки:
🔵Вывод небольших таблиц без сложностей: всего один вызов функции.
🔵Создание табличных данных для легкой разметки в виде обычного текста: множество выходных форматов, подходящих для дальнейшего редактирования или преобразования.
🔵Читаемое представление смешанных текстовых и числовых данных: умное выравнивание столбцов, настраиваемое форматирование чисел, выравнивание по десятичной точке.

➡️Установка библиотеки: pip install tabulate

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤‍🔥4👍3😁1🤔1
🪟 Функция pygetwindow.getAllTitles() в Python

Функция getAllTitles() из модуля pygetwindow возвращает список заголовков всех активных окон в Windows.

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6👍3
Справочник Программиста
🪟 Функция pygetwindow.getAllTitles() в Python Функция getAllTitles() из модуля pygetwindow возвращает список заголовков всех активных окон в Windows. ➡️Справочник Программиста. Подписаться
📸Код для создания скриншота определённого окна на Python

Для создания скриншота в коде используется модуль PyAutoGUI, а для получения окна и его размеров - PyGetWindow.

Изображение данного поста - итоговый скриншот.

➡️Установка модулей: pip install PyAutoGUI PyGetWindow

import pygetwindow as gw
import pyautogui

# Получаем окно с указанным заголовком
window = gw.getWindowsWithTitle("Lesson – main.py")[0]

# Получаем позицию и размеры окна
x, y, width, height = window.left, window.top, window.width, window.height

# Создаём скриншот указанной области
screenshot = pyautogui.screenshot(region=(x, y, width, height))

# Сохраняем скриншот
screenshot.save("screenshot.png")


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7👍5🔥1
Библиотека python-rucaptcha в Python

Библиотека python-rucaptcha предназначена для работы с сервисами RuCaptcha и 2Captcha API для решения капчи.

➡️Установка библиотеки: pip install python-rucaptcha

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5👍2
📝Библиотека pymorphy3 в Python

Библиотека pymorphy3 - это морфологический анализатор для русского языка. Предоставляет возможность определения частей речи, склонения и других морфологических характеристик слова.

Основные особенности библиотеки:
🔵Поддержка определения частей речи, склонения, числа, времени и других морфологических характеристик слова;
🔵Работа с различными форматами словарей, включая OpenCorpora;
🔵Легкая интеграция с другими инструментами обработки естественного языка в Python.

➡️Установка библиотеки: pip install pymorphy3

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍6❤‍🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
🗂 Код для получения всех файлов с определёнными расширениями в указанной директории на Python

Для получения всех файлов с определёнными расширениями в указанной директории в коде используется стандартная библиотека glob.

import glob


# Определение функции для поиска файлов в указанной директории с указанными типами файлов
def search_files(directory, types):
files_grabbed = []
for files in types:
files_grabbed.extend(glob.glob(f'{directory}/{files}'))
return files_grabbed


# Вызов функции search_files() для поиска файлов с расширениями '*.png', '*.jpg' и *.jpeg в директории 'images'
files_grabbed = search_files('images', ('*.png', '*.jpg', '*.jpeg'))

# Вывод списка найденных файлов
print(files_grabbed)


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍8❤‍🔥2🎉1
🖥 Библиотека Numba в Python

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

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

Основные особенности библиотеки:
🔵Just-in-Time (JIT) компиляция: она использует JIT-компиляцию, чтобы преобразовать код Python в машинный код во время выполнения программы. Это позволяет значительно ускорить выполнение кода.
🔵Поддержка NumPy: интегрируется с библиотекой NumPy, что позволяет использовать ее функции и операции с массивами в компилируемых функциях.
🔵Поддержка многопоточности: предоставляет возможность использовать параллельные вычисления с помощью многопоточности, что может ускорить выполнение кода на многопроцессорных системах.
🔵Поддержка GPU: поддерживает выполнение кода на графических процессорах (GPU) с использованием CUDA. Это позволяет ускорить выполнение вычислений, которые могут быть распараллелены и выполняются на GPU.
🔵Простота использования: предоставляет простой и интуитивно понятный интерфейс для создания компилируемых функций. Она интегрируется с существующим кодом Python и не требует сложной переписывания.

➡️Установка библиотеки: pip install numba

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍3❤‍🔥2
🗺Код для поиска ближайшего объекта по заданным координатам на Python

Для работы с координатами в коде используется библиотека geopy.

➡️Установка библиотек: pip install geopy

from geopy.distance import distance
from geopy.point import Point

# Список словарей, представляющих разные местоположения
locations = [
{"name": "Рим", "coordinates": (41.902685, 12.496085)},
{"name": "Флоренция", "coordinates": (43.779768, 11.265750)},
{"name": "Римини", "coordinates": (44.054351, 12.571060)},
]

# Установка текущих координат
current_location = (42.958833, 12.709767) # Координаты города "Фолиньо"
# Создание пустого списка для хранения расстояний
distances = []

# Итерация по каждому местоположению в списке locations
for location in locations:
# Создание объекта Point, используя координаты текущего местоположения
point = Point(location["coordinates"])
# Вычисление расстояния между текущим местоположением и каждым местоположением в списке
distances.append((location["name"], distance(point, current_location).kilometers))

# Сортировка списка расстояний по второму элементу каждого кортежа (расстояния)
sorted_distances = sorted(distances, key=lambda x: x[1])

# Вывод имени и расстояния до ближайшего города
print(f"Ближайший город: {sorted_distances[0][0]}, Расстояние: {sorted_distances[0][1]:.2f} км")

# Вывод: Ближайший город: Рим, Расстояние: 118.63 км


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7👍5🤨1😎1
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека Doitlive в Python

Библиотека Doitlive предназначена для создания интерактивных демонстраций (презентаций) командной строки.

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

➡️Установка библиотеки: pip install doitlive

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5🔥3👍2
🗂 Библиотека watchdog в Python

Библиотека watchdog предоставляет возможность отслеживать события файловой системы, такие как создание, изменение и удаление файлов и директорий.

Является кросс-платформенной и поддерживает различные операционные системы, включая Linux, macOS и Windows.

➡️Установка библиотеки: pip install watchdog

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4❤‍🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Код для создания слайд-шоу из изображений на Python 🖼

Для получения всех изображений из директории в коде используется стандартная библиотека glob, а для создания слайд-шоу - moviepy.

➡️Установка moviepy: pip install moviepy

from moviepy.editor import *
import glob


# Определение функции для поиска файлов в указанной директории с указанными типами файлов
def search_files(directory, types):
files_grabbed = []
for files in types:
files_grabbed.extend(glob.glob(f'{directory}/{files}'))
return files_grabbed


# Вызов функции search_files() для поиска файлов с расширениями '*.png', '*.jpg' и *.jpeg в директории 'images'
image_files = search_files('images', ('*.png', '*.jpg', '*.jpeg'))

# Создаем пустой список для сохранения видео-клипов
video_clips = []

# Проходим по каждому изображению и создаем видео-клип для каждого
for image_file in image_files:
# Загружаем изображение
image = ImageClip(image_file)

resized_image = image.resize((1024, 1024))

# Создаем видео-клип с изображением и заданной длительностью
video_clip = image.set_duration(5)

# Добавляем видео-клип в список
video_clips.append(video_clip)

# Объединяем все видео-клипы в слайд-шоу
slideshow = concatenate_videoclips(video_clips)

# Сохраняем слайд-шоу в видео-файл
slideshow.write_videofile("Слайд-шоу.mp4", fps=24)


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥7❤‍🔥3
🖥 Шпаргалка по командам CMD

Шпаргалка в PDF-файле👇
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека Pywebview в Python

Библиотека Pywebview позволяет создавать графический интерфейс, используя веб-технологии, такие как JavaScript, HTML и CSS.

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

Доступна для Windows, macOS, Linux и Android.

➡️Установка библиотеки: pip install pywebview

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤‍🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Функция pygetwindow.getActiveWindow() в Python

Функция getActiveWindow() из модуля pygetwindow используется для получения информации о текущем активном окне на экране.

Возвращает объект Window (активное окно).

Пример использования функции:
import pygetwindow as gw

# Получение активного окна
active_window = gw.getActiveWindow()

# Вывод заголовка активного окна
print(active_window.title)


➡️Установка модуля: pip install pygetwindow

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4❤‍🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека Click в Python

Библиотека Click предоставляет возможности для создания интерфейсов командной строки (CLI) в приложениях.

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

Основные особенности библиотеки:
🔵Простота использования и интуитивно понятный синтаксис;
🔵Поддержка определения команд, аргументов и опций с различными типами данных;
🔵Возможность создания подкоманд и вложенных команд;
🔵Поддержка автоматической генерации справки и использования команд;
🔵Встроенная поддержка обработки ошибок и исключений;
🔵Поддержка различных форматов вывода, таких как текст, JSON и т.д.

➡️Установка библиотеки: pip install Click

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤‍🔥3
Получаем расширение файла при помощи Python

В данной статье научимся получать расширение файла при помощи Python.

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Код для отслеживания изменений в директории на Python

Для отслеживания изменений в директории в коде используется библиотека watchdog.

➡️Установка библиотеки: pip install watchdog

import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler


# Создаем класс-обработчик событий файловой системы
class MyHandler(FileSystemEventHandler):
def on_modified(self, event):
# Выполняем нужные действия при изменении файлов
print(f'Файл {event.src_path} был изменен')


# Создаем экземпляр класса Observer
observer = Observer()

# Создаем экземпляр класса обработчика событий
event_handler = MyHandler()

# Указываем путь к директории, которую нужно отслеживать
path = '/путь/к/директории'

# Регистрируем обработчик событий и путь к директории в Observer
observer.schedule(event_handler, path, recursive=True)

# Запускаем Observer в отдельном потоке
observer.start()

try:
while True:
time.sleep(1)
except KeyboardInterrupt:
# При нажатии на Ctrl+C останавливаем Observer
observer.stop()

# Дожидаемся завершения работы Observer
observer.join()


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍4❤‍🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека Flet в Python 👀

Библиотека Flet предназначена для создания современных графических интерфейсов.

Предоставляет функции, такие как анимации, асинхронность, локальное хранение приложений и сессий, шифрование, защиту данных, аутентификацию и готовые виджеты.

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

Пример приложения "Счётчик" из документации:
import flet
from flet import IconButton, Page, Row, TextField, icons


def main(page: Page):
# Устанавливаем заголовок страницы
page.title = "Пример счетчика на Flet"
# Устанавливаем выравнивание
page.vertical_alignment = "center"
# Создаем текстовое поле со значением 0
txt_number = TextField(value="0", text_align="right", width=100)

# Определяем функцию для события клика на кнопку "минус"
def minus_click(e):
# Уменьшаем значение текстового поля на 1
txt_number.value = str(int(txt_number.value) - 1)
# Обновляем страницу
page.update()

# Определяем функцию для события клика на кнопку "плюс"
def plus_click(e):
# Увеличиваем значение текстового поля на 1
txt_number.value = str(int(txt_number.value) + 1)
# Обновляем страницу
page.update()

page.add(
Row(
[
IconButton(icons.REMOVE, on_click=minus_click), # Создаем кнопку "минус" с иконкой "удалить"
txt_number, # Добавляем текстовое поле в строку
IconButton(icons.ADD, on_click=plus_click), # Создаем кнопку "плюс" с иконкой "добавить"
],
alignment="center", # Устанавливаем выравнивание строки по центру
)
)


# Запускаем приложение
flet.app(target=main)


➡️Установка библиотеки: pip install Flet

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍5❤‍🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
📁 Код для получения списка файлов с определённым расширением в указанной директории на Python

Для получения списка файлов с определённым расширением в указанной директории в коде используется стандартная библиотека os.

import os


def get_files_with_extension(folder_path, extension):
# Создаем пустой список для хранения имен файлов
file_list = []
# Проходимся по каждому файлу в указанном пути
for file in os.listdir(folder_path):
# Проверяем, заканчивается ли имя файла на указанное расширение
if file.endswith(extension):
# Добавляем имя файла в список file_list, если оно имеет указанное расширение
file_list.append(file)
# Возвращаем список файлов с указанным расширением
return file_list


# Вызываем функцию с текущей директорией и расширением '.py'
print(get_files_with_extension('./', '.py'))


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥10👍5