5 полезных скриптов на Python

Статьи

Введение

В данной статье рассмотрим 5 полезных скриптов на Python.

Скрипт для автоматического резервного копирования файлов на Python

Для написания данного скрипта нам понадобится импортировать shutil и datetime (они входят в стандартную библиотеку Python).

import shutil
import datetime

Теперь создадим функцию backup_files(), в которой будет присутствовать два параметра, а именно:

  • source — путь к исходной директории
  • destination — путь к директории назначения (кода сохранить бэкап)
import shutil
import datetime


def backup_files(source, destination):

Внутри функции сначала будет генерироваться временная метка, используя текущую дату и время, после чего будет производиться копирование исходной директории в директорию назначения с временной меткой.

import shutil
import datetime


def backup_files(source, destination):
    # Генерируем временную метку, используя текущую дату и время
    timestamp = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
    # Копируем исходную директорию в директорию назначения с временной меткой
    shutil.copytree(source, f"{destination}/backup_{timestamp}")

Пример работы функции:

import shutil
import datetime


def backup_files(source, destination):
    # Генерируем временную метку, используя текущую дату и время
    timestamp = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
    # Копируем исходную директорию в директорию назначения с временной меткой
    shutil.copytree(source, f"{destination}/backup_{timestamp}")


# Устанавливаем путь к исходной директории
source_dir = "important"
# Устанавливаем путь к директории назначения
destination_dir = "backup copy"

# Вызываем функцию backup_files() с указанными исходной и директориями назначения
backup_files(source_dir, destination_dir)

Скрипт для парсинга изображений из Google Images на Python

Перед написанием данного кода нам понадобится установить библиотеку icrawler. Для этого нужно перейти в терминал/командную строку, прописать pip install icrawler, нажать Enter и ждать установки. После инсталляции мы импортируем класс BingImageCrawler из icrawler.

from icrawler.builtin import BingImageCrawler

Теперь создадим функцию download_images(), параметры которой будут следующие:

  • keyword — текст запроса, по которому необходимо парсить изображения
  • num_images — количество изображений, которые необходимо спарсить
  • directory — путь к папке, в которую будут сохранены изображения
from icrawler.builtin import BingImageCrawler


def download_images(keyword, num_images, directory):

Внутри функции сначала будет создаваться экземпляр класса BingImageCrawler с указанием пути до папки для сохранения изображений. Далее будет запускаться краулер для скачивания изображений по указанному ключевому слову и количеству изображений.

from icrawler.builtin import BingImageCrawler


def download_images(keyword, num_images, directory):
    crawler = BingImageCrawler(storage={'root_dir': directory})
    crawler.crawl(keyword=keyword, max_num=num_images)

Пример вызова функции:

from icrawler.builtin import BingImageCrawler


def download_images(keyword, num_images, directory):
    crawler = BingImageCrawler(storage={'root_dir': directory})
    crawler.crawl(keyword=keyword, max_num=num_images)


# Скачиваем 10 изображений по запросу "котики" и сохраняем их в папку "images"
download_images(keyword='котики', num_images=10, directory='images')

Скрипт «Конвертер валют» на Python

Перед написанием данного кода нам понадобится установить библиотеку requests. Для этого нужно перейти в терминал/командную строку, прописать pip install requests, нажать Enter и ждать установки. После инсталляции мы импортируем библиотеку requests.

import requests

Теперь создадим функцию convert_currency(), параметры которой будут следующие:

  • amount — сумма, которую нужно конверировать
  • from_currency — валюта, из которой необходимо конвертация
  • to_currency — валюта, в которую необходимо конвертировать
import requests


def convert_currency(amount, from_currency, to_currency):

Внутри функции сначала будет формироваться URL для запроса к API, через которое мы сможем получить данные.

import requests


def convert_currency(amount, from_currency, to_currency):
    url = f"https://api.exchangerate-api.com/v4/latest/{from_currency}"
    

Далее будет идти GET-запрос к API с сохранением ответа.

import requests


def convert_currency(amount, from_currency, to_currency):
    url = f"https://api.exchangerate-api.com/v4/latest/{from_currency}"

    response = requests.get(url)

Теперь спарсим ответ на GET-запрос в формате json и извлечём курсы обмена из json.

import requests


def convert_currency(amount, from_currency, to_currency):
    url = f"https://api.exchangerate-api.com/v4/latest/{from_currency}"

    response = requests.get(url)
    data = response.json()
    rates = data['rates']

Конвертируем сумму с использованием курса обмена и выведем результат.

import requests


def convert_currency(amount, from_currency, to_currency):
    url = f"https://api.exchangerate-api.com/v4/latest/{from_currency}"

    response = requests.get(url)
    data = response.json()
    rates = data['rates']
    converted_amount = amount * rates[to_currency]

    print(f"{amount} {from_currency} равно {converted_amount} {to_currency}")

Пример вызова функции:

import requests


def convert_currency(amount, from_currency, to_currency):
    url = f"https://api.exchangerate-api.com/v4/latest/{from_currency}"

    response = requests.get(url)
    data = response.json()
    rates = data['rates']
    converted_amount = amount * rates[to_currency]

    print(f"{amount} {from_currency} равно {converted_amount} {to_currency}")


convert_currency(100, 'USD', 'RUB')

Скрипт для преобразования видео в GIF на Python

Перед написанием данного кода нам понадобится установить библиотеку moviepy. Для этого нужно перейти в терминал/командную строку, прописать pip install moviepy, нажать Enter и ждать установки. После инсталляции мы импортируем класс VideoFileClip из moviepy.

from moviepy.editor import VideoFileClip

Теперь создадим функцию convert_video_to_gif(), параметры которой будут следующие:

  • video_path — путь к видео
  • gif_path — путь по которому необходимо сохранить GIF
from moviepy.editor import VideoFileClip


def convert_video_to_gif(video_path, gif_path):

Внутри функции сначала создадим объект класса VideoFileClip передав в него путь к видео.

from moviepy.editor import VideoFileClip


def convert_video_to_gif(video_path, gif_path):
    video = VideoFileClip(video_path)

Далее произведём конвертацию видео в формат GIF, передав путь, по которому необходимо её сохранить и fps.

from moviepy.editor import VideoFileClip


def convert_video_to_gif(video_path, gif_path):
    video = VideoFileClip(video_path)
    video.write_gif(gif_path, fps=60)

Пример вызова функции:

from moviepy.editor import VideoFileClip


def convert_video_to_gif(video_path, gif_path):
    video = VideoFileClip(video_path)
    video.write_gif(gif_path, fps=60)


convert_video_to_gif("video.mp4", "output.gif")

Скрипт для распаковки zip-архива на Python

Напишем скрипт для распаковки zip-архивов. Для начал импортируем библиотеку zipfile (она входит в стандартную библиотеку Python).

import zipfile

Теперь создадим функцию unzip_file(), параметры которой будут следующие:

  • zip_path — путь к zip-архиву
  • extract_path — путь для извлечения файлов из архива
import zipfile


def unzip_file(zip_path, extract_path):

Внутри будет производиться открытие zip-архива в режиме для чтения при помощи контекстного менеджера, после чего будет производиться извлечение содержимого в указанную папку.

import zipfile


def unzip_file(zip_path, extract_path):
    with zipfile.ZipFile(zip_path, 'r') as zip_ref:
        zip_ref.extractall(extract_path)

Пример вызова функции:

import zipfile


def unzip_file(zip_path, extract_path):
    with zipfile.ZipFile(zip_path, 'r') as zip_ref:
        zip_ref.extractall(extract_path)


zip_path = 'example.zip'
extract_path = ''
unzip_file(zip_path, extract_path)

Заключение

В ходе статьи мы с Вами рассмотрели целых 5 полезных скриптов на Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Admin
Admin
IT Start