6 простых, но полезных скриптов Python, с которых можно начать

6 простых, но полезных скриптов Python, с которых можно начать0

Составьте краткое изложение этой истории. Вот краткое изложение содержания истории, основанное на фактах: Вот упрощенная версия содержания истории: Вот беззаботный взгляд на содержание истории: Исследуйте другую точку зрения: Покажите мне факты Объясните это так, будто мне 5 лет Дайте мне беззаботный пересказ

Python — один из самых доступных языков для изучения благодаря своему объектно-ориентированному подходу и минимальному синтаксису. Стандартная библиотека включает в себя множество полезных модулей, которые можно использовать для написания всевозможных программ, больших и маленьких.

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

1 Пакетное переименование файлов

Переименование набора файлов может быть сложной задачей. Если вы можете вспомнить синтаксис оболочки, вы можете написать команду на лету или положиться на стороннюю программу, например rename.

Эта простая программа Python переименовывает все файлы в вашем текущем каталоге, содержащие определенный текст, заменяя этот текст заданным шаблоном. Вы можете использовать ее, например, для изменения набора расширений с «.htm» на «.html».

импортировать ос, сис

если len(sys.argv) < 3:
    sys.exit(«использование: » + sys.argv[0] + » поиск замена»)

для имени файла в os.listdir(«.»):
    новое_имя_файла = имя_файла.replace(sys.argv[1], sys.argv[2])

    если новое_имя_файла != имя_файла:
        os.переименовать(
            os.path.join(«.», имя_файла),
            os.path.join(«.», новое_имя_файла),
        )

Скрипт импортирует пару полезных низкоуровневых модулей: os и sys. Он немедленно использует последний для проверки количества аргументов (sys.argv) и завершает работу, если указано слишком мало.

Затем основной цикл for проходит по всем именам файлов в текущем каталоге (.). Затем метод replace класса string пытается перезаписать первый аргумент вторым.

После последней проверки, изменилось ли имя файла, выполняется вызов os.rename(), который при необходимости обновляет файл.

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

2 Создатель миниатюр изображений

Следующий четырехстрочный скрипт демонстрирует мощь удобной библиотеки, в данном случае Pillow. Этот форк Python Imaging Library имеет множество функций обработки изображений, чтобы поддерживать все, от простых скриптов до полноценных графических редакторов.

Перед запуском этого скрипта вам потребуется установить библиотеку Pillow. заварить установить подушку У меня это сработало на macOS, но вы также можете попробовать pip, который рекомендуется на странице установки.

Скрипт использует три метода из модуля «Изображение» для открытия файла, создания миниатюры и сохранения ее во втором файле:

из PIL импорта изображения
изображение = Изображение.open(«изображение.jpg»)
изображение.миниатюра((500, 500))
изображение.сохранить(«image_thumb.jpg»)

Обратите внимание, что функция thumbnail принимает один аргумент, который является кортежем. Она создаст изображение с тем же соотношением сторон, что и у оригинала, с максимальной шириной и высотой в соответствии с указанными вами размерами.

Само по себе это имеет ограниченное применение, поскольку имя файла и размеры жестко закодированы. Вы можете расширить его функциональность, передавая эти значения в качестве аргументов командной строки, используя вторую версию скрипта, которая не намного больше:

из PIL импорта изображения
импорт системы

если len(sys.argv) < 4:
    sys.exit(«использование: » + sys.argv[0] + » ширина высота изображения»)

изображение = Изображение.open(sys.argv[1])
изображение.миниатюра((int(sys.argv[2]), int(sys.argv[3])))
изображение.сохранить(«thumb.jpg»)

Обратите внимание, что окончательное имя файла миниатюры все еще жестко закодировано. В качестве дальнейшего расширения вы можете сгенерировать имя файла на основе оригинала или принять четвертый параметр командной строки.

3 Простой веб-сервер

Базовый веб-сервер может быть очень полезен; я использую его для быстрого просмотра и доступа к файлам на моем локальном компьютере. Он также может быть удобным инструментом для веб-разработки.

Немногие веб-серверы настолько просты:

импорт http.сервер, сокетсервер

порт = 8001

с сокетсервером.TCPServer(
    («», порт), http.server.SimpleHTTPRequestHandler
) как httpd:
    print(f»Обслуживание в порту {port}»)
    httpd.serve_forever()

Большую часть работы здесь выполняют модули http.server и socketserver. Универсальному экземпляру TCPServer передается порт и SimpleHTTPRequestHandler, который обслуживает файлы из текущего каталога по HTTP. Метод serve_forever (унаследованный от класса socketserver.BaseServer) обрабатывает запросы до тех пор, пока не будет вызван метод shutdown().

Как предупреждает документация Python, модуль http.server не обеспечивает должной безопасности и не предназначен для использования в производственных целях.

Хотя это всего лишь игрушечный сервер, он отлично подходит для личного использования, а его простота не имеет себе равных.

4 Генератор случайных паролей

Будь то для новой учетной записи пользователя, веб-формы или вашей собственной разработки, часто требуется случайный пароль. Вероятно, вам следует использовать менеджер паролей, чтобы сделать это, но это не всегда уместно. С вашим собственным скриптом вы можете контролировать точные детали и совершенствовать его в соответствии с вашими потребностями.

импортируемая строка, случайная

def main(длина: int) -> str:
    символы = строка.ascii_буквы + строка.цифры + строка.пунктуация
    вернуть «».join(случайный.выбор(символов) для i в диапазоне(длина))

печать(главная(32))

Этот скрипт использует модули string и random для генерации случайного пароля всего за пять строк кода. Модуль string имеет несколько полезных констант, содержащих наборы отдельных символов, таких как цифры и буквы. Объединяя их и выбирая число наугад, скрипт объединяет ряд символов для создания окончательного пароля.

6 простых, но полезных скриптов Python, с которых можно начать1

5 Проверка цен на криптовалюту

Этот скрипт демонстрирует мощь чистого, простого API. API, который он использует — от coingecko — работает через HTTP, поэтому он очень портативен и прост в поддержке.

Прежде чем запустить этот скрипт, проверьте ответ API от конечной точки, которую он использует, /simple/price. Вы должны увидеть, что он возвращает данные в формате JSON с записями для валют, переданных в параметре ids.

импорт urllib.request, json

определение get_crypto_prices():
    url = «https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,ethereum,litecoin&vs_currencies=usd»
    ufile = urllib.request.urlopen(url)
    текст = ufile.read()
    вернуть json.loads(текст)

крипто_цены = получить_крипто_цены()

для монеты, значение в crypto_prices.items():
    print(f»{coin.capitalize()}: ${value[‘usd’]}»)

Модуль urllib.request включает метод urlopen(), который извлекает содержимое URL и возвращает объект HTTPResponse. Чтение его текста и передача его методу json.loads() создает эквивалентный объект словаря.

6 простых, но полезных скриптов Python, с которых можно начать2

JSON — очень популярный формат для веб-API, поскольку его простой синтаксис и понятный человеку формат облегчают анализ и тестирование.

6 Генератор таблиц ASCII

Набор символов ASCII представляет собой набор из 128 общих символов английского языка, используемых в различных вычислительных контекстах. Большинство языков программирования поддерживают преобразование кодов ASCII в отдельные символы и наоборот, но иногда полезно видеть все символы ASCII одновременно.

для я в диапазоне (32, 128):
    print(«{:03d}».format(i) + » » + chr(i), end=»» «)

    если (i — 1) % 10 == 0:
        Распечатать()

Распечатать()

Этот скрипт печатает таблицу, содержащую все символы ASCII от 32 до 127, каждый вместе со своей кодовой точкой:

6 простых, но полезных скриптов Python, с которых можно начать3

Первое, что следует отметить, это то, как встроенная функция Python range() обрабатывает свои параметры; она выполняет итерацию, начиная с первого, но останавливается, не достигнув второго. В языке вроде JavaScript эквивалент цикла for будет выглядеть так:

для (я = 0; я < 128; я++) { … }

Большая часть оставшейся работы находится в строке print() и включает форматирование каждой кодовой точки как фиксированной ширины из трех знаков. Функция chr() возвращает символ, заданный его кодом ASCII.

Одним из полезных свойств ASCII, которое демонстрирует эта таблица, является то, что код каждой строчной буквы (az) ровно на 32 больше, чем ее заглавный эквивалент.

Оставшийся трюк — напечатать символ новой строки в соответствующей точке, чтобы вывод был аккуратно разделен на строки. Это использует оператор % для проверки остатка индекса диапазона при делении на 10, гарантируя десять символов на строку.

6 простых, но полезных скриптов Python, с которых можно начать4

Валентин Павлов/ автор статьи
Страсть Влентина к играм началась с Resident Evil, и с тех пор он не переставал играть в хоррор-игры. Пишет экспертные руководства для самых сложных игр и обзоры для самых громких релизов. Является магистром журналистики и имеет степень бакалавра лингвистики. Любимые игры: GTA 5, Silent Hill 2, Call of Duty: Modern Warfare 2, Heavy Rain, Metro 2033 и другие.
Понравилась статья? Поделиться с друзьями:
Добавить комментарий