Работа с документами, копирование и переименование занимает много времени. Python — простой и мощный язык программирования, который поможет автоматизировать 10 популярных процессов и значительно упростить повседневные дела.
Скрипты можно запускать как на домашнем компьютере, так и на VPS, если нужна круглосуточная обработка файлов или совместная работа нескольких сотрудников. Такой подход избавляет от рутины: Python берёт на себя повторяющиеся задачи, а вы освобождаете время для действительно важных дел.
Подготовка
Установите Python, если он ещё не стоит на вашем компьютере.
Для Windows или Mac зайдите на официальный сайт python.org и скачайте последнюю версию.
Во время установки не забудьте поставить галочку «Add Python to PATH».
Создание резервных копий важной информации
Python поможет автоматически создавать резервные копии.
С помощью простого процесса скопируем всё необходимое, например, на внешний диск.
Выберите исходный источник — скажем, «Документы». И укажите, куда сохранять резервные версии — например, на диск D:\Backup.
В «Блокноте» или другом редакторе введите:
import shutil
import os
source = 'ПУТЬ_ИСТОЧНИКА'
destination = 'ПУТЬ_ПРИЁМНИКА'
files = os.listdir(source)
for file in files:
full_file_name = os.path.join(source, file)
if os.path.isfile(full_file_name):
shutil.copy(full_file_name, destination)
print("Резервное копирование завершено.")
В строках source и destination замените пути на свои. Например:
source = 'C:/Users/Имя/Documents'
destination = 'D:/Backup'
Сохраните с расширением .py. И запустите через терминал так же, как в первом примере.
Программа проходит по выбранной папке. Для каждого документа создаёт копию.
Даже если исходная информация случайно удалится, копии останутся.
Быстрый поиск и удаление ненужных файлов
Временные и старые страницы занимают место и замедляют процессы, а Python помогает быстро находить и устранять их автоматически.
Создадим программу, которая уничтожит информацию старше заданного количества дней, например, старше 30 дней.
Решите, в каком месте хотите почистить — например, «Загрузки».
Определите, какой период считать долгим.
Откройте редактор и введите текст:
import os
import time
folder = 'ПУТЬ_К_ПАПКЕ'
days = 30
now = time.time()
cutoff = now - (days * 86400)
for filename in os.listdir(folder):
file_path = os.path.join(folder, filename)
if os.path.isfile(file_path):
file_mtime = os.path.getmtime(file_path)
if file_mtime < cutoff:
os.remove(file_path)
print(f"Удалён файл: {filename}")
print("Очистка завершена.")
Замените folder на путь вашей папки, например:
folder = 'C:/Users/Имя/Downloads'
Поменяйте число days на своё.
Сохраните, например как clean_old_files.py.
Запустите систему через терминал.
Автоматическое переименование файлов по шаблону
Для быстрого переименования множества фото, текстов или загрузок можно настроить утилиту, которая пройдётся по выбранному пространству, присвоит новые имена с заданным префиксом и нумерацией.
Пример:
import os
folder = 'ПУТЬ_К_ВАШЕЙ_ПАПКЕ'
prefix = 'Фото_'
start_number = 1
files = os.listdir(folder)
files.sort()
for i, filename in enumerate(files, start=start_number):
old_path = os.path.join(folder, filename)
extension = os.path.splitext(filename)[1]
new_name = f"{prefix}{i}{extension}"
new_path = os.path.join(folder, new_name)
os.rename(old_path, new_path)
print(f"{filename} переименован в {new_name}")
print("Переименование завершено.")
Замените 'ПУТЬ_К_ВАШЕЙ_ПАПКЕ' на нужный путь, а prefix и start_number — на желаемые значения.
Отправка автоматических напоминаний по электронной почте
Напомнить о делах, встречах и задачах, Python может отправлять письма в нужное время с заданным текстом на определённые адреса.
Необходим почтовый ящик для отсылки.
Рекомендуется использовать безопасные пароли.
Создайте файл send_reminder.py.
Введите следующий код:
import smtplib
from email.mime.text import MIMEText
smtp_server = 'smtp.gmail.com'
smtp_port = 587
login = 'ваш_email@gmail.com'
password = 'пароль_приложения'
from_addr = login
to_addr = 'получатель@example.com'
subject = 'Напоминание'
body = 'Это ваше автоматическое напоминание.'
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = from_addr
msg['To'] = to_addr
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(login, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
print('Письмо отправлено.')
Замените 'ваш_email@gmail.com' и 'пароль_приложения' на свои.
В поле to_addr укажите адрес получателя.
В subject и body измените тему и текст письма по своему желанию.
Запустите скрипт, чтобы проверить отправку.
Программа устанавливает соединение с почтовым сервером. Проходит аутентификацию с помощью логина и пароля. Формирует письмо с заданной темой и текстом. Отправляет на указанный адрес.
Для рассылки нескольким адресатам, можно передать их список в параметр sendmail.
Автоматический сбор данных с веб-сайтов
Для регулярного получения данных с сайтов, таких как курс валют или новости, можно настроить сбор информации без ручного копирования.
Страницы с текстом и информацией отображаются в браузере с использованием HTML. Нужно научить устройство находить определённые части сайта.
Установим два модуля («библиотеки») Requests и BeautifulSoup.
В окно для ввода команд копируем или пишем строку и жмём Enter:
pip install requests beautifulsoup4
Так загрузится всё необходимое.
Появится запрос на нужный веб-сайт и считается содержимое страницы.
Затем будут выбраны необходимые части.
После этого нужное можно сохранить в отдельном файле, чтобы открыть позже и использовать, например, в таблицах.
Создание и заполнение таблиц
Можно настроить так, чтобы таблицы создавались и изменялись сами, с уже подготовленным содержимым.
Установим библиотеки.
В терминале введите команду pip install openpyxl и нажмите Enter.
Откройте текстовый редактор, укажите необходимые заголовки и данные, место, куда сохранить готовый файл.
Разберём один из вариантов.
В редакторе скопируем и вставим такой текст:
from openpyxl import Workbook
Создаём новую таблицу:
wb = Workbook()
ws = wb.active
Добавляем заголовки колонок:
ws.append(['Имя', 'Телефон', 'Сумма'])
Добавляем данные в строки:
ws.append(['Иван Иванов', '+7 900 123 45 67', 1500])
ws.append(['Мария Петрова', '+7 901 234 56 78', 2300])
Сохраняем файл:
wb.save('клиенты.xlsx')
Сделайте это в формате .py, например create_table.py, переходите в терминале в выбранную директорию и наберите команду:
python create_table.py
Появится файл клиенты.xlsx, который можно открыть в Excel или в другой программе для работы с таблицами. В нём будут заголовки и две строки с данными, как указано в описании.
Уведомление звуком по окончании действия
Устройство можно запрограммировать на подачу сигнала по завершении копирования, загрузки или обработки данных.
В редакторе введите следующий текст:
import time
import winsound # Для Windows
time.sleep(10) # Ждём 10 секунд
winsound.Beep(1000, 500) (звуковой сигнал: частота 1000 Гц, длительность 500 мс).
Для Mac чуть другой способ, но сейчас сосредоточимся на Windows.
Сохраните как sound_alert.py, обязательно с расширением .py.
В командной строке переходим в каталог с сохранённым документом, например:
cd C:\Users\Ваше_Имя\Documents
Активируем программу:
python sound_alert.py
Компьютер подождёт 10 секунд и даст звуковой сигнал.
При необходимости заменяем время ожидания в строке time.sleep(10), то есть количество секунд, на любой другой период.
time.sleep командует «подожди столько секунд», winsound.Beep воспроизводит сигнал.
Автоматическая сортировка по папкам с помощью Python
Чтобы быстро упорядочить размещение фотографий, документов, видео и музыки, можно отладить автоматическое определение типа каждого из них и перемещение в соответствующее место.
Выберите нужную папку («Загрузки», «Рабочий стол»).
Создайте резервную копию папки.
В редакторе введите:
import os # Модуль для работы с файлами и папками
import shutil # Модуль для перемещения файлов
Укажите путь к папке, где лежат ваши файлы:
folder = 'ПУТЬ_К_ВАШЕЙ_ПАПКЕ'
Создаём словарь с расширениями и соответствующими папками:
folders = {
'Фото': ['.jpg', '.jpeg', '.png', '.gif', '.bmp'],
'Видео': ['.mp4', '.avi', '.mov', '.mkv'],
'Документы': ['.pdf', '.docx', '.txt', '.xlsx', '.pptx'],
'Музыка': ['.mp3', '.wav', '.aac'],
'Архивы': ['.zip', '.rar', '.7z'],
}
Проходим по всем файлам в папке:
for filename in os.listdir(folder):
file_path = os.path.join(folder, filename)
Проверяем, что это файл (а не папка):
if os.path.isfile(file_path):
Получаем расширение файла в нижнем регистре:
ext = os.path.splitext(filename)[1].lower()
Ищем папку для данного расширения:
moved = False
for folder_name, extensions in folders.items():
if ext in extensions:
Путь к папке, куда переместим файл:
target_folder = os.path.join(folder, folder_name)
Если папки нет — создаем:
if not os.path.exists(target_folder):
os.makedirs(target_folder)
Новый путь для файла:
target_path = os.path.join(target_folder, filename)
Перемещаем файл:
shutil.move(file_path, target_path)
print(f"Файл {filename} перемещён в папку {folder_name}")
moved = True
break
Если расширение не найдено — оставляем файл на месте:
if not moved:
print(f"Файл {filename} не отнесён ни к одной категории")
print("Сортировка завершена.")
Смените в строке folder = 'ПУТЬ_К_ВАШЕЙ_ПАПКЕ' путь на адрес вашей папки. Например:
folder = 'C:/Users/Имя/Downloads'
Сохраните файл с именем sort_files.py. Выберите тип «Все файлы» и обязательно добавьте расширение .py.
Откройте терминал или командную строку.
В папке, где сохранили файл sort_files.py, например cd C:\Users\Имя\Documents, запустите команду:
python sort_files.py
Алгоритм берёт список всех файлов в заданной папке. Для каждого из них смотрит расширение и определяет, к какой категории он относится.
При отсутствии такого каталога создаст его.
Если файл не подходит ни под одну категорию, оставляет его без изменений.
Отслеживание изменений и получение уведомлений
Для оптимизации времени и работы можно настроить автоматическую проверку и уведомления через электронную почту или вывод в терминал.
Выберите каталог для мониторинга.
Сделайте резервную копию папки.
В редакторе введите следующий текст:
import os
import time
Путь к папке, которую нужно контролировать:
folder = 'ПУТЬ_К_ВАШЕЙ_ПАПКЕ'
Интервал проверки в секундах (например, 60 секунд):
check_interval = 60
Функция для получения имени и времени последнего изменения:
def get_files_state(path):
state = {}
for filename in os.listdir(path):
file_path = os.path.join(path, filename)
if os.path.isfile(file_path):
state[filename] = os.path.getmtime(file_path)
return state
print(f"Начинаем мониторинг папки: {folder}")
previous_state = get_files_state(folder)
while True:
time.sleep(check_interval)
current_state = get_files_state(folder)
Проверяем новые файлы:
new_files = [f for f in current_state if f not in previous_state]
Проверяем удалённые файлы:
deleted_files = [f for f in previous_state if f not in current_state]
Проверяем изменённые файлы:
modified_files = [f for f in current_state if f in previous_state and current_state[f] != previous_state[f]]
if new_files or deleted_files or modified_files:
if new_files:
print(f"Добавлены файлы: {', '.join(new_files)}")
if deleted_files:
print(f"Удалены файлы: {', '.join(deleted_files)}")
if modified_files:
print(f"Изменены файлы: {', '.join(modified_files)}")
print("-----")
else:
print("Изменений нет.")
previous_state = current_state
В строке folder = 'ПУТЬ_К_ВАШЕЙ_ПАПКЕ' укажите путь к нужной папке. Например:
folder = 'C:/Users/Имя/Documents/Work'
По желанию можно изменить интервал проверки. По умолчанию он 60 секунд.
Сохраните изменения с именем monitor_folder.py с расширением .py.
В терминале или в командной строке перейдите в каталог с файлом:
cd ПУТЬ_К_ПАПКЕ_С_ФАЙЛОМ
Запустите программу:
python monitor_folder.py
Автоматизация экспорта и импорта в информационных базах
Python может выгружать данные в Excel и загружать их обратно.
Установите библиотеку pandas:
pip install pandas
Скрипт для экспорта из базы SQLite в Excel:
import sqlite3
import pandas as pd
conn = sqlite3.connect('ваша_база.db')
df = pd.read_sql_query("SELECT * FROM ваша_таблица", conn)
df.to_excel('экспорт_данных.xlsx', index=False)
conn.close()
print("Экспорт завершён.")
Измените ваша_база.db, ваша_таблица, имя файла.
Запустите:
python export_db.py
Скрипт для импорта из Excel обратно в базу:
import sqlite3
import pandas as pd
conn = sqlite3.connect('ваша_база.db')
df = pd.read_excel('экспорт_данных.xlsx')
df.to_sql('ваша_таблица', conn, if_exists='replace', index=False)
conn.close()
print("Импорт завершён.")
Измените параметры и запустите аналогично.
Читайте в блоге:
- Настраиваем nftables для защиты веб-сервера на Ubuntu 24.04
- Как обновить ядро Linux на Ubuntu 24.04 и откатить изменения при ошибках
- Как перенести Ubuntu 24.04 на новый сервер без переустановки