Примеры готовых скриптов на Python - 15 коротких программ, которые упростят жизнь разработчику

Нуждаетесь в быстром и эффективном инструменте для обработки данных или автоматизации задач? Вот 15 готовых скриптов на Python, которые помогут вам. От парсинга веб-страниц до работы с файлами – эти примеры покажут вам, как легко решать распространенные проблемы с помощью Python.
Скрипт No1: Парсинг данных с сайта. Примеры кода показывают процесс извлечения нужных данных с указанных страниц, например, цен с интернет-магазинов. Получите возможность автоматизировать процесс сбора информации.
Скрипт No2: Обработка JSON. Узнайте, как быстро и эффективно обрабатывать JSON-данные, изменять и создавать необходимые структуры.
Скрипт No3: Скачивание файлов. Получите быстрый и удобный способ загружать файлы с интернет-ресурсов с заданными параметрами. Примеры кода показывают, как это можно выполнить за считанные секунды.
Скрипт No4: Работа с CSV-файлами. Вы узнаете, как читать, записывать и изменять данные в CSV-формате, что упростит работу с базами данных и таблицами.
Скрипт No5: Автоматизация отправки email. Используйте Python для автоматической рассылки сообщений. Упростите уведомления и оповещения по заданному графику.
Примеры кода иллюстрируют реализацию перечисленных задач. Они краткие, понятные и демонстрируют практическое применение Python-скриптов. В каждом примере вы найдёте чёткие инструкции и комментарии, чтобы понять, как адаптировать код под ваши конкретные задачи. Изучите и используйте их!
Быстрый старт с обработкой файлов
Загрузка CSV в pandas. Пример:
import pandas as pd
data = pd.read_csv('data.csv')
print(data.head())
Этот код загружает данные из файла 'data.csv' в DataFrame pandas. Функция pd.read_csv()
– основной инструмент для чтения CSV-файлов. `data.head()` показывает первые несколько строк загруженных данных. Подставьте свой файл.
Чтение текстовых файлов построчно (например, логов):
with open('log.txt', 'r') as file:
for line in file:
if 'error' in line.lower():
print(line)
Открытие файла в режиме чтения ('r'). Цикл перебирает строки. Условие `if 'error' in line.lower():` ищет строки, содержащие 'error' (независимо от регистра). Подставьте свой файл и искомые слова.
Запись данных в новый файл:
with open('output.txt', 'w') as outfile:
outfile.write('Запись данных в новый файл
')
Открытие в режиме записи ('w') гарантирует перезапись файла. Укажите `'a'` для добавления к существующему контенту. Подставьте свой данные.
Обработка JSON:
import json
with open('data.json', 'r') as file:
data = json.load(file)
print(data['name'])
Читаем JSON-файл с помощью `json.load()`. Доступ к данным происходит по ключу `'name'`. Замените `'name'` на нужный ключ.
Автоматизация задач с командной строкой
Используйте скрипты Python, чтобы автоматизировать рутинные задачи, выполняемые через терминал. Это сэкономит время и снизит вероятность ошибок.
Пример 1 (Архивация файлов):
- Создайте скрипт, который архивирует определённую папку с файлами.
- Используйте команду
zip -r archive_name.zip folder_name
(заменив имена на нужные). - Автоматизируйте её запуск, используя
os.system
в Python.
Пример 2 (Настройка прав доступа):
- Создайте скрипт, который изменяет права доступа на файлы.
- Используйте команду
chmod
(например,chmod 777 file_name.txt
). - Автоматизируйте применение команд к массиву файлов с помощью циклов.
Пример 3 (Мониторинг файлов):
- Создайте скрипт, который проверяет наличие новых файлов в директории.
- Используйте модуль
os.listdir
(или эквиваленты). - Реализуйте обработку по нахождению новых файлов: например, отправляйте уведомление, копируйте их.
Пример 4 (Запуск сторонних программ):
- Создайте скрипт для запуска программ через терминал.
- Используйте
subprocess.call
или аналоги. - Дополните логику проверки результата запуска программы и выхода с ошибкой, если необходимо.
Пример 5 (Обработка логов):
- Создайте скрипт, который обрабатывает и фильтрует логи.
- Используйте
grep
,sed
иawk
(рекомендуется использовать специальные функции Python). - Выполняйте поиск по ключевым словам, выделяйте важные фрагменты и собирайте статистику.
Эти примеры показывают, как создавать простые и полезные скрипты для автоматизации задач. Важно использовать правильные параметры для команд, чтобы достичь нужного результата. Уточните параметры документации к командам для вашего используемого дистрибутива Linux или Windows.
Работа с API: загрузка данных
Для загрузки данных из API используйте библиотеку requests
. Она значительно упрощает процесс.
Пример: Загрузка списка пользователей с API.
- Импортирование:
python
import requests
- Получение данных:
python
response = requests.get("https://api.example.com/users")
Замените `https://api.example.com/users` на реальный URL вашего API.
- Обработка ответа:
python
if response.status_code == 200:
data = response.json()
for user in data['users']:
print(user['name'], user['email'])
else:
print(f"Ошибка при запросе: {response.status_code}")
Проверяйте код статуса ответа. Важно! Обратите внимание на структуру данных (часто `json()` возвращает словарь). Обращайтесь к нужным полям.
Важные моменты:
Авторизация: Если API требует авторизации, добавьте заголовок
Authorization
в запросrequests.get()
. Например:python
headers = {'Authorization': 'Bearer your_token'}
response = requests.get("...", headers=headers)Обработка ошибок: Проверяйте код статуса ответа. Он указывает на успешность или причину ошибки.
Обработка больших данных: Если API возвращает огромный массив данных, рассмотрите партирование (запрос по частям). Изучите документацию API для способов pagination (страницовки).
Рекомендация: Используйте модуль try...except
для более надежной обработки возможных ошибок ввода данных или проблем в API.
Обработка данных с использованием Pandas
Для эффективной работы с таблицами данных в Python используйте библиотеку Pandas. Ниже пример:
Импорт: import pandas as pd
Создание DataFrame: Представьте данные в формате списка словарей (пример):
data = [{'Имя': 'Иван', 'Возраст': 30, 'Город': 'Москва'},
{'Имя': 'Мария', 'Возраст': 25, 'Город': 'Санкт-Петербург'}]
df = pd.DataFrame(data)
Выборка данных: Получение строки с именем 'Мария':
print(df[df['Имя'] == 'Мария'])
Фильтрация: Выбор строк, где возраст больше 25:
print(df[df['Возраст'] > 25])
Группировка: Подсчёт количества людей в каждом городе:
print(df.groupby('Город')['Имя'].count())
Вычисления: Средний возраст участников:
print(df['Возраст'].mean())
Сохранение: Сохранение DataFrame в CSV:
df.to_csv('data.csv', index=False)
Эти простые примеры показывают, как Pandas позволяет быстро и эффективно обрабатывать данные. Для более сложных задач изучайте дополнительные методы Pandas (например, чтение из различных форматов файлов, обработка пропущенных значений и т.д.).
Генерация отчетов и визуализация результата
Для создания отчетов и визуализации данных используйте библиотеку matplotlib.pyplot
. Она позволяет создавать различные типы графиков (гистограммы, столбчатые диаграммы, линейные графики), что очень полезно для наглядного представления результатов.
Подключите библиотеку:
import matplotlib.pyplot as plt
import pandas as pd
Предположим, у вас есть данные в DataFrame df
:
Дата | Продажи |
---|---|
2023-10-26 | 100 |
2023-10-27 | 120 |
2023-10-28 | 150 |
Можно построить график продаж:
plt.plot(df['Дата'], df['Продажи'])
plt.xlabel('Дата')
plt.ylabel('Продажи')
plt.title('Динамика продаж')
plt.show()
Для гистограммы распределения продаж:
plt.hist(df['Продажи'], bins=5)
plt.xlabel('Продажи')
plt.ylabel('Частота')
plt.title('Распределение продаж')
plt.show()
Для столбчатой диаграммы сравнения продаж по дням:
plt.bar(df['Дата'], df['Продажи'])
plt.xlabel('Дата')
plt.ylabel('Продажи')
plt.title('Сравнение продаж по дням')
plt.show()
Вместо plt.show()
можно сохранять график в файл:
plt.savefig('график_продаж.png')
Библиотека pandas
позволяет легко обрабатывать данные, подготовленные для анализа и дальнейшей визуализации.
Полезные вспомогательные функции
Функция для проверки наличия файла:
def file_exists(filepath): import os return os.path.exists(filepath)
Функция для чтения файла построчно:
def read_file_lines(filepath): try: with open(filepath, 'r', encoding='utf-8') as file: return file.readlines() except FileNotFoundError: print(f"Ошибка: Файл {filepath} не найден.") return None
Функция для вычисления длины строки:
def string_length(text): try: if isinstance(text, str): return len(text) else: raise TypeError("Ошибка: Переданный объект не является строкой.") except Exception as e: print(f"Ошибка: {e}") return None
Функция для поиска подстроки в строке:
def find_substring(text, substring): try: if substring in text: return text.find(substring) else: return -1 except Exception as e: print(f"Ошибка: {e}") return None
Функция для форматирования даты:
import datetime def format_date(date_obj, format_string="%Y-%m-%d"): try: return date_obj.strftime(format_string) except Exception as e: print(f"Ошибка: {e}") return None
Функция для вычисления разницы во времени:
import datetime def time_difference(start_time, end_time): try: start = datetime.datetime.strptime(start_time, "%Y-%m-%d %H:%M:%S") end = datetime.datetime.strptime(end_time, "%Y-%m-%d %H:%M:%S") difference = end - start return difference.total_seconds() except ValueError as e: print(f"Ошибка при парсинге времени: {e}") return None
Вопрос-ответ:
Какие скрипты на Python наиболее эффективно помогают с обработкой текстовых данных, например, с подсчётом частоты слов?
В статье представлены скрипты, которые могут помочь с подсчётом частоты слов в тексте. Один из них использует библиотеку `Counter` из модуля `collections`. Он считывает текст из файла, разбивает его на слова, а затем подсчитывает количество вхождений каждого слова. Это позволяет легко анализировать частотность терминов в большом массиве текста. Также, есть примеры с использованием регулярных выражений, которые могут быть полезны для более сложной обработки текста, например, выделение определённых шаблонов или удаление ненужных символов. В зависимости от задачи, вам может подойти какой-то один из этих скриптов или сочетание нескольких.
Можно ли использовать предложенные скрипты для автоматизации задач, связанных с анализом и обработкой табличных данных из Excel?
Да, многие скрипты в статье могут быть адаптированы для работы с данными из Excel. Например, скрипт чтения CSV-файлов легко можно модифицировать для чтения данных из Excel, используя соответствующие библиотеки (например, `openpyxl`). Этот скрипт поможет вам получить доступ к данным таблицы и выполнять различные операции с ними – сортировку, фильтрацию, вычисление различных метрик. Важно использовать соответствующие библиотеки и функции для выбранного формата файла.
Какие библиотеки Python используются в примерах, и как они помогают упростить разработку?
В примерах статьи используются разные библиотеки Python. Например, для работы с файлами – стандартная библиотека Python. Для работы с датами – библиотека `datetime`. Для работы с регулярными выражениями – модуль `re`. Библиотеки упрощают разработку, предоставляя готовые инструменты для решения типовых задач. Вместо того, чтобы реализовывать каждую функцию с нуля, разработчик может воспользоваться готовыми классами и функциями, существенно сокращая время на разработку и повышая её качество.
Как подобрать подходящий скрипт для конкретной задачи, если предполагается много вариантов?
Важно проанализировать свою задачу. Если задача связана с обработкой текста, примеры из статьи с использованием `Counter` и регулярных выражений могут быть полезными. Если требуется работа с файлами – надо посмотреть примеры работы со структурами данных, с файлами CSV или JSON. Необходимо обратить внимание на используемые библиотеки и способы, которые применяются в скриптах. Понимание принципов работы примеров поможет сориентироваться в выборе подходящего решения. Часто, для сложных задач, нужно комбинировать несколько скриптов, сочетая их функционал.
Есть ли примеры использования скриптов для работы с API веб-сервисов?
К сожалению, в представленных 15 коротких программных примерах прямого использования API веб-сервисов нет. Возможность работы с API требует применения библиотек, например, `requests`, которые не входят в эти простые примеры, а требуют немного большего объема кода. Если вам необходима работа с API веб-сервисов, вам нужны инструменты для запроса информации, парсинга и обработки полученных данных.
Курсы
.png)

.png)

.png)

.png)
