Python — мощный и универсальный язык программирования, возможности которого значительно шире, чем просто вывод «Hello, world!». Мы создадим три практичных программы, демонстрирующие реальное применение Python в повседневной жизни.
Автоматическая сортировка файлов
Программа автоматизирует перенос файлов из одной папки в другую на основе их расширения. Это полезно для организации файлов из папки «Загрузки».
Для создания программы понадобится библиотека watchdog. После её установки, импортируем необходимые модули: Observer, FileSystemEventHandler и os, shutil.
Создадим класс, наследующий FileSystemEventHandler, и переопределим метод on_modified. В этом методе будем перебирать файлы в указанной директории (source_dir) и перемещать файлы с определенным расширением (например, фотографии — .jpg, .png) в другую директорию (destination_dir). Укажите полные пути к папкам.
Создадим объекты Observer и EventHandler, свяжем их и запустим наблюдение за директорией. Добавим небольшую задержку для корректной работы. Программа будет автоматически сортировать файлы по расширениям. Вы можете легко изменить расширения и пути к папкам.
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
import os
import shutil
class FileSorter(FileSystemEventHandler):
def __init__(self, source_dir, destination_dir):
self.source_dir = source_dir
self.destination_dir = destination_dir
def on_modified(self, event):
if event.is_directory:
return None
for filename in os.listdir(self.source_dir):
src_path = os.path.join(self.source_dir, filename)
if filename.lower().endswith(('.jpg', '.png')):
dst_path = os.path.join(self.destination_dir, filename)
shutil.move(src_path, dst_path)
source_dir = "/путь/к/исходной/папке" # Замените на ваш путь
destination_dir = "/путь/к/целевой/папке" # Замените на ваш путь
event_handler = FileSorter(source_dir, destination_dir)
observer = Observer()
observer.schedule(event_handler, source_dir, recursive=False)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
Простой HTTP-сервер
Вторая программа — это полноценный HTTP-сервер, созданный без использования внешних фреймворков, таких как Django или Flask. Используем только встроенные модули Python.
Импортируем необходимые классы из модуля http.server. Укажем localhost и порт для подключения. Создадим объект сервера и запустим его в бесконечном цикле. Для пользователей Linux, может потребоваться предварительная установка python3-http.server.
Для отображения веб-страницы, создадим файл index.html с HTML-разметкой. При обращении к серверу, он будет отображать содержимое этого файла.
import http.server
import socketserver
PORT = 8000
Handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer(("", PORT), Handler) as httpd:
print("serving at port", PORT)
httpd.serve_forever()
Автоматизация работы с браузером
Третья программа демонстрирует автоматизацию работы с браузером при помощи Selenium. Библиотека позволяет управлять браузером программным путем.
Установите Selenium через терминал (pip install selenium). Затем скачайте веб-драйвер для вашего браузера с официального сайта Selenium. Укажите полный путь к скачанному драйверу в программе. После этого, можно использовать Selenium для открытия любого URL в браузере.
from selenium import webdriver
driver_path = "/путь/к/вашему/драйверу" # Замените на ваш путь
url = "https://www.example.com"
driver = webdriver.Chrome(executable_path=driver_path)
driver.get(url)
Эти три простые программы демонстрируют мощь и универсальность Python. Они показывают, как быстро и эффективно можно решать различные практические задачи с помощью этого языка программирования. Возможности Python безграничны, и это лишь малая часть того, что он может предложить.