Установление SSH-соединения с сервером
Библиотека
Модуль
Для установки пакета используйте менеджер пакетов
#python #paramiko #ssh
Библиотека
paramiko
предоставляет возможность подключения к серверам через протокол SSH2
, позволяя выполнять те же действия, что и при использовании стандартной утилиты ssh
в Linux
.Модуль
paramiko
отличается простотой в использовании, и вы можете ознакомиться с примерами его основных методов на представленном изображении. В качестве любопытного факта, название Paramiko
происходит от слияния слов "параноик" и "друг" на языке эсперанто.Для установки пакета используйте менеджер пакетов
pip
в привычном порядке. Подробную документацию можно найти здесь.#python #paramiko #ssh
👍3
Вызов программ операционной системы
sh — это полноценный интерфейс, как альтернатива
Все запускаемые команды импортируются, как обычные функции, но функциями не являются, а лишь динамически обращаются к командам системы. Таким образом мы можем по сути обратиться к любой программе в системе.
Для обращения к командам программы и передать набор аргументов команды, мы можем передать их как обычные аргументы функции.
Также в модуле реализована функция
#sh
sh — это полноценный интерфейс, как альтернатива
subprocess
, который позволяет вызывать любую программу, как если бы это была обычная функция. Все запускаемые команды импортируются, как обычные функции, но функциями не являются, а лишь динамически обращаются к командам системы. Таким образом мы можем по сути обратиться к любой программе в системе.
sh
полагается на системные вызовы Unix и работает только в Unix-подобных операционных системах, т.е. данный модуль не подойдет для работы с Windows.Для обращения к командам программы и передать набор аргументов команды, мы можем передать их как обычные аргументы функции.
Также в модуле реализована функция
which
, которая находит полный путь до программы либо возвращает None
, если программа не найдена.#sh
❤8
Запись экрана в Windows с помощью Python
Для записи экрана в Windows используя
Библиотека
Эта библиотека идеально подходит для создания игровых ботов.
#python #d3dshot
Для записи экрана в Windows используя
Python
существует несколько библиотек, однако наиболее эффективной оказалась d3dshot.Библиотека
d3dshot
использует системные библиотеки DXGI
и Direct3D
для быстрого и надежного захвата экрана.Эта библиотека идеально подходит для создания игровых ботов.
#python #d3dshot
❤4
Вычисление размера объектов
Для вычисления размера объекта мы можем использовать функцию
И хотя все
Аргумент
Функция
#getsizeof
Для вычисления размера объекта мы можем использовать функцию
getsizeof(object[, default])
из модуля sys
. Так как в python все по сути является объектами, то и вычислить размер в памяти мы можем у любого такого объекта.И хотя все
built-in
(встроенные) объекты и вернут правильный размер, в общем случае это не должно быть верно для каких-либо пользовательских объектов.Аргумент
default
позволяет определить значение, которое будет возвращено, если тип объекта не предоставляет средства для извлечения размера и вызовет TypeError
.Функция
getsizeof
вызывает метод __sizeof__
объекта и добавляет дополнительные служебные данные сборщика мусора.#getsizeof
❤1👍1
Курс и конвертер валют в Python
Для работы с разными валютами и их курсами существует библиотека forex-python.
С её помощью можно как узнать курс любой валюты, так и сконвертировать одну валюту в другую.
Ознакомиться с интерактивным примером кода можно тут.
#currency #forex_python
Для работы с разными валютами и их курсами существует библиотека forex-python.
С её помощью можно как узнать курс любой валюты, так и сконвертировать одну валюту в другую.
Ознакомиться с интерактивным примером кода можно тут.
#currency #forex_python
❤3
Получение геолокации по IP с использованием ip2geotools
Недавно я обнаружил увлекательный пакет
Пример кода для получения информации по IP с использованием класса
Этот код использует метод
#python #ip2geotools
Недавно я обнаружил увлекательный пакет
ip2geotools
, который обеспечивает возможность получения геолокации по IP из различных баз данных. Пример кода для получения информации по IP с использованием класса
DbIpCity
, представляющего некоммерческую базу данных, выглядит следующим образом:from ip2geotools.databases.noncommercial import DbIpCity
def get_ip_geolocation(ip_address):
try:
response = DbIpCity.get(ip_address, api_key='free')
city = response.city
region = response.region
country = response.country
latitude = response.latitude
longitude = response.longitude
print(f"Информация о местоположении для IP {ip_address}:")
print(f"Город: {city}")
print(f"Регион: {region}")
print(f"Страна: {country}")
print(f"Широта: {latitude}")
print(f"Долгота: {longitude}")
except Exception as e:
print(f"Ошибка при получении информации по IP {ip_address}: {e}")
ip_address_to_check = '8.8.8.8'
get_ip_geolocation(ip_address_to_check)
Этот код использует метод
get
из класса DbIpCity
для получения информации о местоположении по заданному IP-адресу.
Помните о том, что для использования некоторых баз данных может потребоваться API-ключ.#python #ip2geotools
🔥4👍3😱3❤1
Использование внешних процессов в Python с помощью subprocess
В мире программирования бывают моменты, когда необходимо взаимодействовать с внешними программами из кода на
Что такое
Пример использования
В данном примере мы использовали
Передача данных и получение результата:
В данном примере мы использовали команду
#python #subprocess
В мире программирования бывают моменты, когда необходимо взаимодействовать с внешними программами из кода на
Python
. Для этих задач отлично подходит модуль subprocess
, который предоставляет удобный способ запуска внешних процессов, передачи данных им и получения результатов выполнения.Что такое
subprocess
?subprocess
- это модуль Python
, который предоставляет множество возможностей для запуска новых процессов, подключения к существующим процессам, а также обмена данными между вашим кодом и внешними программами.Пример использования
subprocess
:import subprocess
# Простой пример: выполнение команды "ls" в командной строке
result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE, text=True)
# Вывод результата выполнения команды
print(result.stdout)
В данном примере мы использовали
subprocess.run
для выполнения команды "ls -l
". Параметр stdout=subprocess.PIPE
указывает на перенаправление вывода команды в переменную result.stdout
. Параметр text=True
гарантирует, что вывод будет в текстовом формате.Передача данных и получение результата:
import subprocess
# Передача данных в команду и получение результата
input_data = "Hello, subprocess!"
result = subprocess.run(['echo', input_data], stdout=subprocess.PIPE, text=True)
# Вывод результата выполнения команды
print(result.stdout)
В данном примере мы использовали команду
echo
для вывода переданных данных. subprocess.run
позволяет передавать данные в команду через параметр input
.subprocess
также предоставляет множество других функций для более сложных сценариев взаимодействия с процессами, таких как запуск процесса в фоновом режиме, обработка ошибок, а также потоковый вывод данных.#python #subprocess
👍6❤2
Деструкторы
При уничтожении экземпляра класса в большинстве языков вызывается специальный метод, который называется деструктор.
В Python деструктор можно переопределять с помощью магического метода
Вообще деструкторы крайне редко переопределяется в Python, но полезно знать, что именно эти методы отвечают за очистку при удалении объекта.
#классы
При уничтожении экземпляра класса в большинстве языков вызывается специальный метод, который называется деструктор.
В Python деструктор можно переопределять с помощью магического метода
__del__
, который вызовется автоматически при удалении объекта.Вообще деструкторы крайне редко переопределяется в Python, но полезно знать, что именно эти методы отвечают за очистку при удалении объекта.
#классы
❤3
dateparser
Обратите внимание, что
#python #dateparser
dateparser
— это библиотека Python
, предоставляющая удобные инструменты для разбора и анализа текстовых дат и времени. Она автоматически определяет формат даты и времени в текстовой строке и преобразует его в объект datetime
. Это особенно полезно, когда у вас есть текстовые описания дат и времени в различных форматах, и вы хотите их структурировать.Обратите внимание, что
dateparser
может использовать текущие локальные настройки для определения форматов даты и времени, поэтому результаты могут зависеть от настроек вашей системы. Вы также можете явно указать нужную локаль с помощью аргумента locales
, если это необходимо.#python #dateparser
👍7
Работа с методом str.replace() в Python
Метод принимает два основных аргумента: первый - это подстрока, которую нужно заменить в исходной строке, а второй - это подстрока, на которую происходит замена.
Кроме того, существует третий необязательный аргумент, определяющий количество замен старой подстроки на новую. Если он не указан, метод заменяет все вхождения.
#python #replace
Python
предлагает множество удобных встроенных методов для работы со строками. Один из таких методов - str.replace()
, который используется для замены частей строки.Метод принимает два основных аргумента: первый - это подстрока, которую нужно заменить в исходной строке, а второй - это подстрока, на которую происходит замена.
Кроме того, существует третий необязательный аргумент, определяющий количество замен старой подстроки на новую. Если он не указан, метод заменяет все вхождения.
#python #replace
👍3
Работа с PDF файлами используя PyPDF2
В этом посте, вы узнаете, как работать с PDF-файлами в Python.
Пример кода:
В этом примере мы открываем PDF-файл, используя PyPDF2, извлекаем информацию о количестве страниц и тексте с первой страницы. Затем мы создаем новый PDF-файл, добавляем в него первую страницу и сохраняем его под именем "new_document.pdf".
PyPDF2 - это мощный инструмент для работы с PDF-документами в Python. Он предоставляет возможности для чтения, создания и манипулирования PDF-файлами, что делает его отличным выбором для автоматизации задач, связанных с обработкой документов в этом формате.
#python #pypdf2
В этом посте, вы узнаете, как работать с PDF-файлами в Python.
PyPDF2
предоставляет функциональность для работы с PDF-файлами в Python
, позволяя автоматизировать процессы обработки и анализа документов в формате PDF.Пример кода:
import PyPDF2
with open('example.pdf', 'rb') as file:
pdf_reader = PyPDF2.PdfReader(file)
num_pages = len(pdf_reader.pages)
print(f"Количество страниц в PDF: {num_pages}")
first_page_text = pdf_reader.pages[0].extract_text()
print("Текст с первой страницы:")
print(first_page_text)
pdf_writer = PyPDF2.PdfWriter()
pdf_writer.add_page(pdf_reader.pages[0])
with open('new_document.pdf', 'wb') as new_file:
pdf_writer.write(new_file)
print("Обработка PDF завершена.")
В этом примере мы открываем PDF-файл, используя PyPDF2, извлекаем информацию о количестве страниц и тексте с первой страницы. Затем мы создаем новый PDF-файл, добавляем в него первую страницу и сохраняем его под именем "new_document.pdf".
PyPDF2 - это мощный инструмент для работы с PDF-документами в Python. Он предоставляет возможности для чтения, создания и манипулирования PDF-файлами, что делает его отличным выбором для автоматизации задач, связанных с обработкой документов в этом формате.
#python #pypdf2
❤1👍1
Получаем текст с картинки
У Google есть система Tesseract, которая позволяет парсить текст с картинок с помощью оптического распознавания символов.
И в качестве обертки над их системой, был создан пакет
Для того, чтобы получить текст с картинки, нужно вызвать метод
Еще важно, что для открытия картинок рекомендуется использовать
#pytesseract
У Google есть система Tesseract, которая позволяет парсить текст с картинок с помощью оптического распознавания символов.
И в качестве обертки над их системой, был создан пакет
pytesseract
, который максимально удобно и легко использовать. Для того, чтобы получить текст с картинки, нужно вызвать метод
image_to_string
. Если вас интересует текст на русском, то следует указать аургмент lang
как 'rus'
. Еще важно, что для открытия картинок рекомендуется использовать
pillow
, хоть и имеется возможность просто указать путь к файлу в виде строки. #pytesseract
❤3👍2
Скачиваем вебсайты целиком
Максимально простой, но при этом мощный пакет
Функция
А вот
Но здесь надо быть аккуратнее, подобная рекурсивная загрузка отправит много запросов к серверу и может сильно нагрузить его, если на сайте много страниц.
#pywebcopy
Максимально простой, но при этом мощный пакет
pywebcopy
поможет вам клонировать отдельные веб-страницы или даже целые сайты. Функция
save_webpage
скачивает страницу по указанной ссылке, в аргументы также можно передать путь, куда сохранить результат. А вот
save_website
дает возможность скачать целый вебсайт рекурсивно. Например, если сайт представляет из себя блог, то скрипт скачет все статьи, которые есть на сайте. Но здесь надо быть аккуратнее, подобная рекурсивная загрузка отправит много запросов к серверу и может сильно нагрузить его, если на сайте много страниц.
#pywebcopy
👍3
Картографическая визуализация с использованием Folium
Эта библиотека поддерживает пользовательские наборы тайлов от
В арсенале
Посмотреть результат выполнения кода со скрина можно тут -- https://i.imgur.com/QhNDb5I.png
#python #folium
Folium
обеспечивает интеграцию данных на карты, позволяя создавать как фоновые картограммы, так и размещать на картах векторные, растровые и HTML
элементы в виде маркеров.Эта библиотека поддерживает пользовательские наборы тайлов от
MapBox
или Cloudmade
.В арсенале
Folium
имеются различные типы маркеров, от простых маркеров местоположения со стандартными листовками, содержащими всплывающие окна и HTML
подсказки, до возможности встраивания изображений, видео, а также GeoJSON
и TopoJSON
объектов.Посмотреть результат выполнения кода со скрина можно тут -- https://i.imgur.com/QhNDb5I.png
#python #folium
❤4
Deep-Translator: Мощный инструмент для многоязычного перевода в Python
Одним из плюсом использования
Документация доступна тут
Deep-Translator
- это выдающаяся библиотека на Python, разработанная для удобного и качественного перевода текстов на различные языки используя более 10 сервисов! Она предоставляет удобные инструменты для автоматического перевода текста, с опцией перевода между более чем 100 языками мира. Deep-Translator
обладает высокой точностью перевода, а также поддерживает множество функций для настройки перевода под ваши потребности.Deep-Translator
также предоставляет возможность работы с различными API
сервисами перевода (Google Translate
, Yandex Translator
, и т.д.), что делает его гибким инструментом для разработчиков.Одним из плюсом использования
Deep-Translator
является его способность работать с текстами разных языков и поддерживать большое количество языковых пар для перевода.Deep-Translator
- это отличный инструмент для многоязычного перевода ваших текстов, который поможет вам сделать ваши проекты доступными для широкой аудитории.Документация доступна тут
👍7❤2