Каждый день я пишу десятки скриптов: то Telegram-бота для уведомлений, то парсер для сбора данных, то скрипт для переименования файлов. Раньше на это уходили часы, теперь — минуты. Секрет — в правильно составленных промтах для нейросетей. В этой статье я поделюсь 15 проверенными формулировками, которые реально экономят время и избавляют от рутины. Никакой воды — только рабочие примеры и код.
1. Генерация скрипта для автоматизации файловых операций
Промт: «Напиши Python-скрипт, который переименовывает все файлы в указанной папке по шаблону: добавляет дату создания в формате ГГГГ-ММ-ДД в начало имени. Используй библиотеку datetime и os. Выведи список изменённых файлов».
Пример кода:
import os
from datetime import datetime
folder = '/path/to/folder'
for filename in os.listdir(folder):
filepath = os.path.join(folder, filename)
if os.path.isfile(filepath):
mtime = os.path.getmtime(filepath)
date_str = datetime.fromtimestamp(mtime).strftime('%Y-%m-%d')
new_name = f"{date_str}_{filename}"
os.rename(filepath, os.path.join(folder, new_name))
print(f"Renamed: {filename} -> {new_name}")
Этот промт позволяет быстро получить готовый скрипт для бэкапов или организации файлов. Нейросеть сама учтёт все нюансы, а вам останется только указать путь к папке.
2. Создание Telegram-бота для уведомлений
Промт: «Создай Telegram-бота на Python с использованием библиотеки aiogram 3.x. Бот должен отправлять уведомление в указанный чат при получении HTTP-запроса на localhost:8080. Используй aiohttp для сервера. Включи обработку команды /start».
Пример кода:
from aiogram import Bot, Dispatcher, types
from aiogram.filters import Command
import asyncio
from aiohttp import web
TOKEN = 'YOUR_TOKEN'
CHAT_ID = 'YOUR_CHAT_ID'
bot = Bot(token=TOKEN)
dp = Dispatcher()
@dp.message(Command('start'))
async def start(message: types.Message):
await message.answer('Бот готов к уведомлениям!')
async def handle_notification(request):
await bot.send_message(chat_id=CHAT_ID, text='Новое событие!')
return web.Response(text='OK')
app = web.Application()
app.router.add_post('/notify', handle_notification)
async def main():
runner = web.AppRunner(app)
await runner.setup()
site = web.TCPSite(runner, 'localhost', 8080)
await site.start()
await dp.start_polling(bot)
if __name__ == '__main__':
asyncio.run(main())
Такой бот может оповещать о завершении длительных задач, ошибках в коде или о новых заказах на сайте. Просто отправьте POST-запрос на http://localhost:8080/notify.
3. Парсинг данных с сайта с помощью BeautifulSoup
Промт: «Напиши Python-скрипт для парсинга сайта example.com. Собери все заголовки статей с главной страницы и сохрани их в CSV-файл. Используй requests и BeautifulSoup. Обработай возможные ошибки сети».
Пример кода:
import requests
from bs4 import BeautifulSoup
import csv
url = 'https://example.com'
try:
response = requests.get(url, timeout=5)
response.raise_for_status()
except requests.RequestException as e:
print(f'Ошибка: {e}')
exit()
soup = BeautifulSoup(response.text, 'html.parser')
titles = soup.find_all('h2')
with open('titles.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['Title'])
for title in titles:
writer.writerow([title.get_text(strip=True)])
print('Сохранено заголовков:', len(titles))
Этот шаблон легко адаптировать под любой сайт: достаточно изменить селектор CSS. Промт задаёт структуру, а нейросеть сама подберёт нужные методы.
4. Автоматизация работы с Excel-файлами
Промт: «Создай скрипт, который читает Excel-файл (data.xlsx), объединяет данные из двух листов по ключевому полю „ID“ и записывает результат в новый файл. Используй pandas. Обработай случай, когда ID отсутствует».
Пример кода:
import pandas as pd
df1 = pd.read_excel('data.xlsx', sheet_name='Лист1')
df2 = pd.read_excel('data.xlsx', sheet_name='Лист2')
merged = pd.merge(df1, df2, on='ID', how='outer', indicator=True)
merged.to_excel('merged.xlsx', index=False)
print(merged.head())
Этот промт спасает, когда нужно быстро объединить отчёты из разных источников. Библиотека pandas — стандарт де-факто для работы с таблицами в Python.
5. Регулярные выражения для очистки текста
Промт: «Напиши функцию на Python, которая принимает строку и удаляет из неё все HTML-теги, лишние пробелы и символы пунктуации, оставляя только буквы, цифры и пробелы. Используй модуль re».
Пример кода:
import re
def clean_text(text):
# Удаляем HTML-теги
text = re.sub(r'<[^>]+>', '', text)
# Убираем пунктуацию
text = re.sub(r'[^\w\s]', '', text)
# Сжимаем пробелы
text = re.sub(r'\s+', ' ', text).strip()
return text
print(clean_text('<p>Привет, мир! Как дела?</p>')) # Вывод: Привет мир Как дела
Этот промт полезен для предобработки данных перед анализом или машинным обучением. Регулярные выражения — мощный инструмент, но их синтаксис легко забыть; нейросеть пишет их за вас.
6. Скрипт для скачивания файлов по списку URL
Промт: «Создай скрипт, который читает текстовый файл со списком URL-адресов и скачивает каждый файл в указанную папку. Используй requests. Добавь обработку ошибок и пропуск уже скачанных файлов».
Пример кода:
import requests
import os
urls_file = 'urls.txt'
download_folder = 'downloads'
os.makedirs(download_folder, exist_ok=True)
with open(urls_file, 'r') as f:
urls = [line.strip() for line in f if line.strip()]
for url in urls:
filename = os.path.join(download_folder, url.split('/')[-1])
if os.path.exists(filename):
print(f'Пропуск: {filename} уже существует')
continue
try:
response = requests.get(url, timeout=10)
response.raise_for_status()
with open(filename, 'wb') as f:
f.write(response.content)
print(f'Скачан: {filename}')
except Exception as e:
print(f'Ошибка при скачивании {url}: {e}')
Удобно для массового скачивания изображений, документов или любых других файлов по списку.
7. Работа с API и обработка JSON
Промт: «Напиши Python-скрипт, который делает GET-запрос к API https://api.github.com/users/octocat, извлекает имя и количество репозиториев, и выводит их в виде таблицы. Используй библиотеку requests и json».
Пример кода:
import requests
response = requests.get('https://api.github.com/users/octocat')
data = response.json()
print(f"Имя: {data['name']}")
print(f"Репозиториев: {data['public_repos']}")
Этот промт помогает быстро интегрироваться с любым API: от погоды до финансовых данных. Нейросеть подскажет, как обработать ответ и учесть возможные ошибки.
8. Генерация отчётов в PDF
Промт: «Создай Python-скрипт для генерации PDF-отчёта из данных, которые находятся в JSON-файле. Используй библиотеку reportlab. Отчёт должен содержать таблицу с данными и заголовок».
Пример кода:
import json
from reportlab.lib.pagesizes import letter
from reportlab.platypus import SimpleDocTemplate, Table, Paragraph
from reportlab.lib.styles import getSampleStyleSheet
with open('data.json', 'r') as f:
data = json.load(f)
# Предположим, data — список словарей
header = list(data[0].keys())
rows = [list(item.values()) for item in data]
table_data = [header] + rows
doc = SimpleDocTemplate('report.pdf', pagesize=letter)
style = getSampleStyleSheet()
elements = []
elements.append(Paragraph('Отчёт', style['Title']))
elements.append(Table(table_data))
doc.build(elements)
Такой скрипт автоматизирует создание еженедельных отчётов для начальства или клиентов.
9. Автоматическое резервное копирование в облако
Промт: «Напиши скрипт, который архивирует все файлы в папке /data в ZIP-архив и загружает его в указанную папку на Google Drive через PyDrive. Используй учётные данные из client_secrets.json».
Пример кода:
import os
import zipfile
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
# Создание архива
folder = '/data'
archive_name = 'backup.zip'
with zipfile.ZipFile(archive_name, 'w') as zf:
for root, dirs, files in os.walk(folder):
for file in files:
zf.write(os.path.join(root, file))
# Загрузка на Google Drive
gauth = GoogleAuth()
gauth.LocalWebserverAuth() # Первый раз потребует авторизацию
drive = GoogleDrive(gauth)
file = drive.CreateFile({'title': archive_name})
file.SetContentFile(archive_name)
file.Upload()
print('Бэкап загружен')
Промт учитывает все шаги: от архивации до авторизации в Google API.
10. Мониторинг цен на товары
Промт: «Создай скрипт, который каждый час проверяет цену товара на странице https://example.com/product и отправляет уведомление в Telegram, если цена упала ниже заданного порога. Используй requests, BeautifulSoup и aiogram».
Пример кода:
import requests
import time
from bs4 import BeautifulSoup
from aiogram import Bot
TOKEN = 'YOUR_TOKEN'
CHAT_ID = 'YOUR_CHAT_ID'
PRICE_THRESHOLD = 1000
URL = 'https://example.com/product'
bot = Bot(token=TOKEN)
def check_price():
response = requests.get(URL)
soup = BeautifulSoup(response.text, 'html.parser')
price = int(soup.find('span', class_='price').text.replace('$', ''))
return price
while True:
price = check_price()
if price < PRICE_THRESHOLD:
bot.send_message(chat_id=CHAT_ID, text=f'Цена упала до {price}!')
time.sleep(3600)
Этот бот может работать на сервере и оповещать о выгодных покупках.
11. Обработка изображений с помощью Pillow
Промт: «Напиши скрипт, который открывает изображение, изменяет его размер до 800x600, применяет чёрно-белый фильтр и сохраняет в новом файле. Используй библиотеку Pillow».
Пример кода:
from PIL import Image
img = Image.open('photo.jpg')
img = img.resize((800, 600))
img = img.convert('L')
img.save('photo_bw.jpg')
print('Готово')
Полезно для подготовки изображений для веба или печати.
12. Автоматизация работы с базой данных SQLite
Промт: «Создай скрипт для управления базой данных SQLite: создай таблицу users с полями id, name, email. Добавь функции для добавления, удаления и вывода пользователей. Используй sqlite3».
Пример кода:
import sqlite3
conn = sqlite3.connect('db.sqlite')
cursor = conn.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS users
(id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT UNIQUE)''')
def add_user(name, email):
cursor.execute('INSERT INTO users (name, email) VALUES (?, ?)', (name, email))
conn.commit()
def delete_user(user_id):
cursor.execute('DELETE FROM users WHERE id = ?', (user_id,))
conn.commit()
def list_users():
return cursor.execute('SELECT * FROM users').fetchall()
# Пример использования
add_user('Иван', 'ivan@example.com')
print(list_users())
Это база для любого приложения с хранением данных.
13. Скрипт для отправки email с вложением
Промт: «Напиши функцию на Python для отправки email через SMTP-сервер Gmail. Письмо должно содержать текст и прикреплённый файл. Используй smtplib и email.mime».
Пример кода:
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
def send_email(subject, body, to_email, attachment_path=None):
from_email = 'your@gmail.com'
password = 'your_password'
msg = MIMEMultipart()
msg['From'] = from_email
msg['To'] = to_email
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain'))
if attachment_path:
with open(attachment_path, 'rb') as f:
part = MIMEBase('application', 'octet-stream')
part.set_payload(f.read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', f'attachment; filename={attachment_path}')
msg.attach(part)
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(from_email, password)
server.send_message(msg)
server.quit()
Такой скрипт полезен для автоматической рассылки отчётов или уведомлений.
14. Работа с CSV и визуализация данных
Промт: «Напиши скрипт, который читает CSV-файл с данными о продажах (месяц, сумма) и строит график с помощью matplotlib. Сохрани график в PNG».
Пример кода:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('sales.csv')
plt.figure(figsize=(10, 6))
plt.plot(df['month'], df['amount'], marker='o')
plt.xlabel('Месяц')
plt.ylabel('Сумма')
plt.title('Продажи по месяцам')
plt.grid(True)
plt.savefig('sales_chart.png')
print('График сохранён')
Визуализация помогает быстро понять тренды и представить данные руководству.
15. Автоматизация сбора данных из нескольких источников
Промт: «Создай скрипт, который собирает данные из трёх разных источников: API погоды, курса валют с сайта Центробанка, и случайных новостей из RSS-ленты. Все данные сохрани в один JSON-файл. Используй requests, feedparser».
Пример кода:
import requests
import feedparser
import json
# Погода (пример OpenWeatherMap)
weather_url = 'https://api.openweathermap.org/data/2.5/weather?q=London&appid=YOUR_API_KEY'
weather = requests.get(weather_url).json()
# Курс валют (ЦБ РФ)
cb_url = 'https://www.cbr-xml-daily.ru/daily_json.js'
cb_data = requests.get(cb_url).json()
usd_rate = cb_data['Valute']['USD']['Value']
# Новости из RSS
feed = feedparser.parse('https://news.google.com/rss?hl=ru&gl=RU&ceid=RU:ru')
news = [entry.title for entry in feed.entries[:5]]
result = {
'weather': weather['main']['temp'],
'usd_rate': usd_rate,
'news': news
}
with open('data.json', 'w', encoding='utf-8') as f:
json.dump(result, f, ensure_ascii=False, indent=2)
Этот скрипт может стать основой для дашборда или утренней сводки.
Заключение
Эти 15 промтов покрывают 80% задач, которые возникают у Python-разработчика в повседневной работе. Главное — чётко формулировать, что нужно сделать, и указывать конкретные библиотеки. Нейросеть отлично справляется с генерацией кода, но всегда проверяйте результат и адаптируйте под свои нужды.
Сохраните эту статью в закладки и используйте как шпаргалку. А если у вас есть свой проверенный промт — поделитесь в комментариях!
Комментарии