Премиум каналы

PyLinux - Всё о Linux, Python и IT

PyLinux — сообщество для всех, кто интересуется Linux, Python и информационными технологиями. Здесь вы найдёте: * библиотеки и скрипты на Python; * инструменты для Linux; * полезный софт; * важнейшие новости из мира информационных технологий. Присоединяйтесь к нам, чтобы быть в курсе последних событий и трендов в мире IT!

Последние публикации с канала

👩‍💻 Создание файла нужного размера

Часто пользуются dd:

dd if=/dev/zero of=out.txt bs=1M count=10


Но я рекомендую использовать fallocate:
fallocate -l 10M file.txt


✔️ На файловых системах, которые поддерживают аллокацию места (xfs, ext4, Btrfs...), данная команда будет выполнена мгновенно, в отличие от dd.

😎 PyLinux | #linux_commands

29.04.2024 / 13:04

Майские скидки!

Профессия «Python-разработчик» 🐍

🎁 Скидка до 30 000 р. Успейте до 14 мая получить специальное предложение!


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

Уже во время обучения вы вступите в программу «Карьерный трек», чтобы найти свою первую работу в IT.

📌 Пройдите 5 бесплатных уроков и поймите, подходит ли вам профессия и стоит ли продолжать!

29.04.2024 / 09:04

Вопрос на собеседовании: Что такое метаклассы?

Метакласс – это класс, который определяет свойства других классов. С помощью метакласса мы можем определять свойства, которые следует добавлять в новые классы, определенные в нашем коде.

🗣️ То есть исходя из этого – метаклассы мы можем использовать в качестве конструктора для наших классов.

✔️ Пример метакласса:

class MyMeta(type):
def __new__(cls, name, bases, dct):
# Добавление нового метода к классу
dct['my_method'] = lambda self: print("Hello from my_method!")
return super().__new__(cls, name, bases, dct)

# Определение класса с использованием метакласса
class MyClass(metaclass=MyMeta):
pass

# Создание экземпляра класса и вызов добавленного метода
obj = MyClass()
obj.my_method() # Вывод: Hello from my_method!


В этом примере MyMeta - пользовательский метакласс, который добавляет новый метод my_method к классу MyClass. При создании экземпляра класса MyClass данный метод становится доступным для вызова.

😎 PyLinux

29.04.2024 / 08:04

⚙️ Библиотека Python: mimesis

Часто для проверки работы алгоритмов нужно собрать достаточно данных, чтобы на них тестировать.

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

💻Пример работы с данными о человеке:

import mimesis
from mimesis import Person

pers = Person(mimesis.locales.RU)

print("Научная степень:", pers.academic_degree())
print("Полное имя мужское:", pers.full_name(mimesis.enums.Gender.MALE))
print("Полное имя женское:", pers.full_name(mimesis.enums.Gender.FEMALE))
print("Национальность:", pers.nationality())
print("Работа:", pers.occupation())
print("Университет:", pers.university())
print("Телефон:", pers.telephone())

>>> Научная степень: Специалист
>>> Полное имя мужское: Намиг Варахобов
>>> Полное имя женское: Солина Гафилова
>>> Национальность: Англичанка
>>> Работа: Бармен
>>> Университет: Государственная морская академия имени адмирала С.О. Макарова
>>> Телефон: +7-(913)-024-20-76


✔️ Установка

pip install mimesis


🐱 Ссылка на GitHub

😎 PyLinux | #python_libs

28.04.2024 / 05:04

🏇 Менеджер загрузок: uGet

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

✔️ Установка

sudo apt install uget


🔗 Официальный сайт

😎 PyLinux | #tools

23.04.2024 / 05:04

⚙️ tail, несколько файлов и несколько юзеров

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

✔️ Но с этим вполне может справиться и обычный tail:

tail -f /var/logs/*.log


Бывает, что на сервере, где крутится некое приложение, лазят разные тестировщики, разработчики и все смотрят лог приложения через tail -f.

При перезапуске приложения, остаются висящие «tail -f», которые могут висеть несколько дней или даже месяцев. Это не то, чтобы проблема, но не аккуратненько.

Полезно будет сделать алиас, который получает PID вашего приложения из PID файла, и автоматически завершит tail при завершении процесса:

alias TFapplog='tail -f --pid=$(cat /opt/app/tmp/app.pid) /opt/app/logs/app.log'


👍 И добавить этот алиас во все профайлы. Даже если все ушли домой, забыв остановить свой tail, он автоматически завершится при рестарте приложения.

😎 PyLinux | #linux_commands

22.04.2024 / 05:04

🖥 Fastfetch - быстрая замена neofetch

Fastfetch - это инструмент для получения системной информации, похожий на Neofetch, но с более высокой производительностью, поскольку он написан на языке C и обладает большей настраиваемостью, предоставляя вам больше контроля над выводом.

Основные особенности

🗣 Скорость. При тестировании с помощью команды time эта утилита оказалась на 78,53 % быстрее, чем neofetch.

🗣 Кастомизация вывода. Вывод команд по умолчанию можно настраивать с помощью модулей, написанных в формате JSON.

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

Пример использования

К примеру, используя предустановленный модуль, выведем информацию об аппаратной части устройства:

fastfetch -c hardware


Ну, а для получения классического вывода информации о системе, используем просто команду:

fastfetch


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

🐱 Ссылка на GitHub

😎 PyLinux | #tools

20.04.2024 / 05:04

⚙️ Библиотека Python: in_place

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

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

import in_place

with in_place.InPlace('tmp.txt', encoding="utf-8") as fp:
for line in fp:
words = []
for word in line.split():
for char in "1234567890":
word = word.replace(char, "")
words.append(word)
fp.write(" ".join(words) + "\n")


Также класс InPlace может принимать еще несколько модификаторов:

mode=<'b'|'t'|None> - тип файла, ‘b’ - бинарный, ‘t’/None - текстовый
backup=<PATH> - путь к оригиналу файла
backup_ext=<EXTENSION> - создаст бэкап с именем файла + backup_ext
move_first=<BOOL> - меняет поведение при создании временных файлов

✔️ Установка

pip install in_place


🐱 Ссылка на GitHub

😎 PyLinux | #python_libs

19.04.2024 / 09:04

📊 Инструмент для мониторинга ресурсов dstat

Dstat это универсальный инструмент статистики ресурсов. Этот инструмент сочетает в себе возможности iostat, vmstat, netstat и ifstat. Утилита позволяет нам отслеживать системные ресурсы в режиме реального времени.

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

✔️ Особенности DSTAT:

🗣Позволяет экспортировать вывод CSV, который можно импортировать в Gnumeric и Excel для создания графики.
🗣Вы можете суммировать блоки сетевых устройств / групп и указать общее количество.
🗣Может показывать прерывания по устройству
🗣Очень точные временные рамки, отсутствие переналадки при нагрузке на систему
🗣Может показать промежуточные результаты, когда промедление > 1.

Установка

Дстат находится внутри репозиториев Ubuntu По умолчанию вы можете легко установить его, выполнив следующую команду:

apt-get install dstat


😎 PyLinux | #tools

18.04.2024 / 05:04
Отзывы: - 0
Поделитесь вашим мнением! Оставьте отзыв:

Похожие

Избранное