Кому нужен этот промт и как он работает?
Этот промт предназначен для программистов и специалистов IT, которым нужно автоматически отслеживать изменения в сетевых папках и сохранять данные об этих событиях в базе данных. Он помогает упростить мониторинг файловых операций и быстро получать сведения о добавлении, изменении или удалении файлов.
Промт задаёт искусственному интеллекту роль эксперта по Python. Он позволяет убедиться, что задача понята правильно, через уточняющие вопросы, а затем генерирует подробное и хорошо структурированное решение с комментариями в коде. Это облегчает разработку программ для отслеживания событий и интеграцию с базами данных.
Готовый к использованию промт
1 |
Ты — эксперт по программированию на Python. Оцени задачу: нужно отслеживать любые события в сетевой папке и сохранять их в базе данных. Задавай уточняющие вопросы, чтобы полностью понять требования. При предоставлении решения обеспечь хороший формат вывода и подробные комментарии в коде для объяснения каждого шага. |
Как использовать промт и на что обращать внимание
Для максимальной эффективности чётко указывайте контекст задачи и особенности требований, например, тип базы данных или операционную систему.
- Обратите внимание, что для полноценного отслеживания событий может потребоваться доступ к файловой системе и дополнительные настройки разрешений.
- Учитывайте, что решение срабатывает лучше при наличии полной информации о требованиях — не бойтесь задавать уточняющие вопросы во время диалога с ИИ.
- Промт ориентирован на генерацию кода с комментариями: при использовании полученного кода рекомендуется тщательно проверить его в вашей среде выполнения.
- Возможна нестабильность при специфических файловых системах или сетевых протоколах — в таких случаях стоит дополнительно тестировать и настраивать код.
Примеры использования
Этот пример помогает отслеживать появление новых файлов в общем каталоге компании и сохранять информацию в SQLite базе для последующего аудита.
1 |
Ты — эксперт по программированию на Python. Оцени задачу: нужно отслеживать появление новых файлов в сетевой папке "\\server\shared" и записывать данные (имя файла, время создания) в SQLite базу данных. Задавай уточняющие вопросы, чтобы уточнить требования. При предоставлении решения обеспечь хороший формат вывода и подробные комментарии в коде для объяснения каждого шага. |
Этот пример поможет создать систему, которая фиксирует все изменения в папке с документами в корпоративной сети и сохраняет логи в PostgreSQL для анализа комиссии по безопасности.
1 |
Ты — эксперт по программированию на Python. Оцени задачу: нужно отслеживать любые события (создание, изменение, удаление) в сетевой папке "/mnt/docs" и сохранять логи (тип события, имя файла, время, пользователь) в базе данных PostgreSQL. Задавай уточняющие вопросы для полного понимания требований. При предоставлении решения обеспечь хороший формат вывода и подробные комментарии в коде для объяснения каждого шага. |
Пример вывода нейросети
✅ Для решения задачи используем библиотеку watchdog, которая отслеживает события в заданной папке, и sqlite3 для хранения данных.
import time
import sqlite3
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler# Класс для обработки событий файловой системы
class WatcherHandler(FileSystemEventHandler):
def __init__(self, db_conn):
self.db_conn = db_conndef on_created(self, event):
if not event.is_directory:
self.log_event('created', event.src_path)def on_modified(self, event):
if not event.is_directory:
self.log_event('modified', event.src_path)def on_deleted(self, event):
if not event.is_directory:
self.log_event('deleted', event.src_path)def log_event(self, event_type, file_path):
cursor = self.db_conn.cursor()
cursor.execute("INSERT INTO events (event_type, file_path, timestamp) VALUES (?, ?, CURRENT_TIMESTAMP);",
(event_type, file_path))
self.db_conn.commit()
print(f"Logged {event_type} for {file_path}")def main():
# Подключаемся к базе данных SQLite
conn = sqlite3.connect('file_events.db')
cursor = conn.cursor()
# Создаём таблицу, если её нет
cursor.execute('''
CREATE TABLE IF NOT EXISTS events (
id INTEGER PRIMARY KEY AUTOINCREMENT,
event_type TEXT,
file_path TEXT,
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP
)
''')
# Директория для отслеживания
path = "/path/to/network/folder"
event_handler = WatcherHandler(conn)
observer = Observer()
observer.schedule(event_handler, path=path, recursive=True)observer.start()
print(f"Starting monitoring of {path}")try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
conn.close()if __name__ == "__main__":
main()
Данный код создаёт наблюдателя, который регистрирует по событиям в заданной сетевой папке и записывает их в SQLite базу с отметкой времени. Каждая функция обработчика подробно прокомментирована для понимания логики.
Примечание: результат примерный и может отличаться в зависимости от конкретных условий.
Итоги: зачем использовать этот промт?
Использование данного промта позволяет быстро получить качественное и понятное решение для отслеживания событий в сетевых папках с автоматическим сохранением в базу данных. Это экономит время на проектирование и кодирование, помогает избежать ошибок и улучшает прозрачность работы с файлами.
Главное преимущество: автоматизация мониторинга сетевых папок с подробным, легко поддерживаемым кодом под Python