Python_Scripts
8.22K subscribers
1K photos
5 videos
674 files
1.54K links
Скрипты 💾 на Python 🐍
- боты 🛠
- парсеры📁
- чекеры🔍
- автоматизация🔧
- многое другое💻

Ваши предложения📝 @cmd_dark @CMD_Vega
Download Telegram
🪙 Скрипт для получения цены криптовалюты через CoinGecko API

📱 Python 3.10+
💾 Модули: requests

🚀 Утилита запрашивает текущую цену указанной криптовалюты (coin_id) в USD через публичный API CoinGecko и выводит результат в консоль.

📌 Особенности:
Простая функция get_price_from_coingecko(coin_id) — достаточно передать идентификатор монеты (bitcoin, ethereum и т. д.)
Обработка ошибок HTTP (raise_for_status) и таймаут запроса (timeout=5)
Проверка наличия данных в ответе и информативный ValueError при отсутствии полей
Легко расширить под другие валюты и форматы вывода

⚙️ Параметры:
🟣 coin_id — идентификатор криптовалюты для запроса (строка)

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥6
💰Пишем скрипт для расчёта сложных процентов

📱 Python: 3.10+
💾 Модули: не требуются

🚀 Скрипт последовательно запрашивает у пользователя:
🟠срок накоплений в годах
🟠начальную сумму на счёте
🟠ежемесячный взнос
🟠годовую процентную ставку (в процентах)

и выдаёт итоговую сумму с учётом сложных процентов и регулярных взносов.

Код максимально понятный:
print('Сколько лет вы планируете копить?')
years = int(input('Введите число лет: '))

print('Сколько денег уже на счёте?')
principal = float(input('Введите текущую сумму: '))

print('Какой ежемесячный взнос вы планируете?')
monthly = float(input('Введите сумму взноса: '))

print('Какую годовую процентную ставку вы ожидаете (в процентах, например 4 для 4%)?')
interest = float(input('Введите ставку в процентах: ')) / 100

annual_invest = monthly * 12
final_amount = principal

for _ in range(years):
final_amount = (final_amount + annual_invest) * (1 + interest)

print(f'Через {years} лет на вашем счёте будет: {final_amount:.2f}')


🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
118🔥6👍4
🔥 Полезные библиотеки Python

DeOldify

📌 Библиотека Python на основе нейросетей, которая позволяет раскрашивать старые фотографии и видео, а также улучшать их качество.
Она использует глубокие генеративные сети (GAN) и обучена на огромных датасетах реальных изображений.

📌 Особенности:
🟠 AI-алгоритмы раскрашивают изображения и видео с высокой точностью.
🟠 Работает без ручной разметки – полностью автоматическая обработка.
🟠 Поддержка видео – можно восстановить старые фильмы.
🟠 Подходит для архивных, семейных и исторических фотографий.

⚙️ Установка:
git clone https://github.com/jantic/DeOldify.git
cd DeOldify
pip install -r requirements.txt


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥155👍3
🔥 Профилирование скорости любой функции

📱 Python: 3.6+
💾 Модули: time

🚀 Что делает скрипт:
🟠Замеряет время выполнения функции в секундах
🟠Удобно для оценки производительности и сравнения разных реализаций

Код:
import time

def benchmark(func):
def wrapper(*args, **kwargs):
start = time.perf_counter()
result = func(*args, **kwargs)
end = time.perf_counter()
print(f"{func.__name__} took {end - start:.5f} seconds")
return result
return wrapper

@benchmark
def slow_function():
time.sleep(1)

slow_function()


🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍145
🌐 Скрипт для скачивания плейлиста с YouTube

💻 ЯП: Python 3.7+
💾 Зависимости:
– subprocess (встроенный модуль Python)
– yt-dlp (pip install yt-dlp)

📌 Утилита позволяет за один запуск скачать все видео в максимальном качестве из YouTube-плейлиста по введённой ссылке. Все файлы сохраняются в папку videos.

📌 Особенности:
⭐️ Поддержка загрузки полных плейлистов — достаточно ввести URL плейлиста.
⭐️ Автоматическое создание папки videos, если она отсутствует.
⭐️ Автоматический выбор лучшего доступного потока (видео + аудио).
⭐️ Объединение в единый MP4-файл через параметр --merge-output-format mp4.
⭐️ Отображение прогресса загрузки в реальном времени.
⭐️ Обработка ошибок с понятным выводом в случае неудачи.

⚙️ Параметры:
🟠output_dir — директория для сохранения (по умолчанию ./videos)
🟠output_template — шаблон имени файла (%(title)s.%(ext)s)
🟠-f bv*+ba/best — выбор формата (видео + аудио лучшего качества)

📱 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥162
🔥 Полезные библиотеки Python

PyFlow

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

📌 Особенности:
🟠Создание алгоритмов без кода
🟠Для игр, автоматизации и симуляций
🟠Интерактивный интерфейс для логики
🟠Альтернатива Blueprint на Python

⚙️ Установка:
pip install PyFlow


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍144🔥4
tiktok-downloader-master.zip
93.6 KB
🌐 Скрипт парсер и загрузчик TikTok

💻  ЯП:  Python 3.11+🐍
💾  Модули: flask, bs4, cloudscraper, httpx

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

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
19👍4
🔥 Полезные библиотеки Python

Angr

📌 Библиотека Python, для бинарного анализа, предназначенная для исследования исполняемых файлов, поиска уязвимостей и обратного инжиниринга. Она объединяет статический и динамический анализ, а также символическое исполнение, что позволяет "проследить" поведение программы по её исходному бинарному коду.

📌 Особенности:
🟠 Мощь для исследователей безопасности: Angr позволяет автоматически анализировать сложные бинарные файлы, что помогает обнаруживать эксплойты и уязвимости.
🟠 Символическое исполнение: Инструмент позволяет генерировать тестовые входы для проверки различных путей выполнения.
🟠 Широкое сообщество: Активно используется в академических исследованиях и профессиональном реверс-инжиниринге, постоянно обновляется и расширяется.

⚙️ Установка:
pip install angr


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍4
🔥 Полезные библиотеки Python

📄 Datatable

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

📌 Ключевые возможности:
🟠Быстрый импорт и экспорт CSV, TSV, Parquet, ORC.
🟠Оптимизированная многопоточная и векторизованная обработка.
🟠Ленивые вычисления и потоковая обработка («out-of-core»).
🟠Поддержка категориальных и сложных типов данных (структуры, JSON).
🟠Удобные операции фильтрации, группировки и агрегации по ключам.
🟠Прямая конвертация в numpy и pandas DataFrame.
🟠Возможность работы с данными, превышающими объём ОЗУ (memory-mapping).

⚙️ Установка:
pip install datatable


🔢Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4
🔐 Криптографически стойкий генератор паролей

📱 Python: 3.6+
💾 Модули: secrets

📌 Демонстрация простого и надёжного скрипта для генерации паролей заданной длины.

🚀 Что делает скрипт:
🟠Принимает параметр length (минимум 8).
🟠Выбирает по одному символу из: строчных, заглавных, цифр и спецсимволов.
🟠Дополняет до length случайными символами из общего пула.
🟠Перемешивает порядок символов.
🟠Возвращает итоговый пароль.


Код:
import secrets
import string

def gen_password(length: int = 12) -> str:
if length < 8:
raise ValueError("Длина пароля должна быть не меньше 8 символов.")
lowercase = string.ascii_lowercase
uppercase = string.ascii_uppercase
digits = string.digits
specials = "!@#$%^&*()-_=+[]{};:,.<>?/"
password_chars = [
secrets.choice(lowercase),
secrets.choice(uppercase),
secrets.choice(digits),
secrets.choice(specials)
]
all_chars = lowercase + uppercase + digits + specials
for _ in range(length - 4):
password_chars.append(secrets.choice(all_chars))
secrets.SystemRandom().shuffle(password_chars)
return ''.join(password_chars)

if __name__ == "__main__":
print(gen_password(16))


🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥3😁2
🖥 Отслеживание изменения сайта

📱 Python: 3.6+
💾 Модули: requests, hashlib, time

🚀 Что делает скрипт:
🟠Каждую минуту проверяет содержимое указанного сайта.
🟠Если сайт изменился — выводит сообщение "Сайт обновился!".


Код:
import requests
import hashlib
import time

URL = 'https://example.com' # замени на нужный сайт
CHECK_INTERVAL = 60 # интервал проверки в секундах

def get_hash(url):
try:
response = requests.get(url, timeout=10)
response.raise_for_status()
return hashlib.md5(response.text.encode('utf-8')).hexdigest()
except Exception as e:
print("Ошибка при запросе:", e)
return None

def monitor_site(url):
print(f"Следим за сайтом: {url}")
old_hash = get_hash(url)

if old_hash is None:
print("Не удалось получить начальное состояние.")
return

while True:
time.sleep(CHECK_INTERVAL)
new_hash = get_hash(url)

if new_hash is None:
continue
if new_hash != old_hash:
print(f"[{time.ctime()}] Сайт обновился!")
old_hash = new_hash
else:
print(f"[{time.ctime()}] Без изменений.")

monitor_site(URL)


🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍7🔥6
🔥 Полезные библиотеки Python

📊 plotext

📌 plotext — это библиотека для построения графиков прямо в терминале, используя символы ASCII.

📌 Особенности:
🟠Работает без GUI — идеальна для серверов и SSH
🟠Поддерживает линейные графики, scatter, bar, hist и т.д.
🟠Настраиваемые оси, заголовки, цвета и обновление в реальном времени

⚙️ Установка
pip install plotext


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥3👍2🥰1
🔥 Полезные библиотеки Python

aiodns

📌 aiodns — это асинхронный DNS-резолвер для Python, основанный на c-ares, предназначен для использования с asyncio.

📌 Особенности:
🟠Быстрее стандартного socket.getaddrinfo() в асинхронных приложениях
🟠Хорошо работает с aiohttp и другими async-клиентами
🟠Поддерживает MX, NS, TXT и другие DNS-запросы


⚙️ Установка:
pip install aiodns


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥54
🔥 Сканер открытых портов

📱 Python: 3.6+
💾 Модули: socket

🚀 Что делает скрипт:
🟠Перебирает порты в диапазоне 20–1024 у заданного IP/доменного имени
🟠Проверяет, какие из них открыты (т.е. доступны для подключения)


Код:
import socket

target = input("Введите IP или домен для сканирования: ").strip()

print(f"\nСканирование {target}...\n")

for port in range(20, 1025):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(0.5)
result = s.connect_ex((target, port))
if result == 0:
print(f"[+] Порт {port} открыт")
s.close()


🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍9😁2
Всем хорошего воскресного дня! 👋

Решил познакомиться с вами поближе — интересно, кто вы, чем занимаетесь и как именно используете Python в своей практике или обучении.
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍5🔥4
Какой контент вам было бы наиболее интересно видеть на канале, учитывая, что многие из вас используют Python для автоматизации, веб-разработки и обучения?
Anonymous Poll
48%
Примеры и кейсы по автоматизации и DevOps
50%
Обзоры библиотек и инструментов для Python
61%
Разработка Telegram-ботов, для автоматизации чего-либо
6%
Другое (предложите в комментариях)
👍13🔥74
👩‍💻 Автоматизированный деплой Docker-контейнера

📱 Python: 3.7+
💾 Модули: docker (pip install docker)

📌 Скрипт, упрощающий развертывание контейнеров: автоматически скачивает образ и запускает контейнер с нужными параметрами.

🚀 Что делает скрипт:
🟠Принимает название образа, имя контейнера и отображение портов.
🟠Подключается к локальному Docker через Python SDK.
🟠Скачивает указанный образ (если его ещё нет).
🟠Запускает контейнер с флагом detach=True и политикой перезапуска.
🟠Обрабатывает ошибки через DockerException.


💭Полезно для:
🟣CI/CD пайплайнов
🟣 Быстрого развёртывания dev/QA стендов
🟣 Обновления контейнеров в production без ручного вмешательства
Please open Telegram to view this post
VIEW IN TELEGRAM
👍144🔥4
🖥 Пример скрипта для резервного копирования базы данных

💬 В этом примере покажу, как с помощью Python автоматизировать процесс резервного копирования базы данных MySQL в ваших DevOps-проектах.

📌 Для создания резервных копий мы будем использовать системную утилиту mysqldump, которую вызовем из Python через модуль subprocess. Такой подход надёжен и широко используется на практике.

import os
import time
import subprocess

def backup_database(host, username, password, database, output_dir):
timestamp = time.strftime('%Y%m%d_%H%M%S')
output_file = os.path.join(output_dir, f'{database}_backup_{timestamp}.sql')

cmd = [
'mysqldump',
f'-h{host}',
f'-u{username}',
f'-p{password}',
database
]

try:
with open(output_file, 'w') as f:
subprocess.run(cmd, stdout=f, check=True)
print(f'Database backup saved to {output_file}')
except subprocess.CalledProcessError as e:
print(f'Error during backup: {e}')

if __name__ == '__main__':
db_host = 'localhost'
db_username = 'your_db_username'
db_password = 'your_db_password'
db_name = 'your_database_name'
backup_output_dir = '/path/to/backup_directory'

backup_database(db_host, db_username, db_password, db_name, backup_output_dir)


☝️ В итоге скрипт создаст файл с дампом базы в указанной папке, добавив к имени текущую дату и время.

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍10🔥4
🅰️ Как кастомизировать автоматизацию под себя

Ansible — это мощный инструмент автоматизации, и если стандартных модулей недостаточно, можно легко писать свои модули на Python.

🗂 Структура: /library/modify_list.py

🔢 Код взят из доки:
from ansible.module_utils.basic import AnsibleModule

def run_module():
module_args = dict(
some_list=dict(type='list', required=True)
)

result = dict(output=[])

module = AnsibleModule(
argument_spec=module_args,
supports_check_mode=True
)

if module.check_mode:
module.exit_json(**result)

if len(module.params['some_list']) <= 1:
module.fail_json(msg='some_list needs more than 1 item', **result)

for item in module.params['some_list']:
result['output'].append({"value": item, "extra": "n/a"})

module.exit_json(**result)

def main():
run_module()

if __name__ == '__main__':
main()


☝️ Этот модуль принимает список, проверяет его длину и возвращает обработанный результат. Это базовый пример, который можно расширять под любые задачи.

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍146🔥2👏1
🔥 Полезные библиотеки Python

astor

📌 Это библиотека для преобразования AST (абстрактного синтаксического дерева) обратно в исходный Python-код, а также для анализа и модификации кода.

📌 Особенности библиотеки:
🟠Преобразует AST → Python-код (unparsing)
🟠Удобна для автогенерации и модификации кода
🟠Поддерживает сохранение форматирования и комментариев (частично)


⚙️ Установка:
pip install astor


🔢 Документация

#библиотеки

🖥 Python_Scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84