1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wizardforcel-lmpythw-zh

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
ex4.md 8.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 06.03.2025 03:52 f9ec0dd

Упражнение 4: Обработка аргументов командной строки

Оригинал: Exercise 4: Dealing with Command Line Arguments

Переводчик: [Феликс Ли]

Лицензия: CC BY-NC-SA 4.0

Гордо использует Google Translate

До того как вы сможете справиться с первой частью этой книги, вам потребуется выполнить несколько простых черных магических действий, чтобы научиться работать с аргументами командной строки в Python.

По традиции мы называем это "спайком". Это термин, взятый из небольшого тестового проекта, который охватывает все элементы большего процесса или проекта. Этот небольшой тестовый "спайк" черной магии делает всё возможное, чтобы гарантировать, что вы можете использовать его. Цель спайка — отработать использование нового библиотеки или инструмента, прежде чем действительно использовать его в вашем проекте.

И это первый "вызов", который имеет некоторую сложность. Сложность предназначена для того, чтобы показать вам, как делать что-то, а затем сравнить то, как вы это сделали, со мной. Я не предоставлю вам код заранее, и вам придётся написать его самостоятельно. Вы больше не новичок. Теперь вы читаете вызов, и вам нужно решить его.

Предупреждение> Внимательно прочтите это предупреждение! Вы не должны завершить полную версию программы за 45 минут. Ограничение времени в 45 минут предназначено для быстрого старта и того, чтобы не беспокоиться о том, что вы делаете что-то неправильно. Это импульс вашей работы, а не тест. Это значит, что если вы следовали ограничению времени в 45 минут, а затем остановились, потому что считаете, что не можете закончить великолепную работу, вы просто ошиблись. Вам следует посмотреть на это так: "давайте посмотрим, что я могу сделать за 45 минут". Эти упражнения являются открытыми, поскольку разные люди могут выполнять разные объемы работы за одинаковое время. Вы просто используете временные ограничения, чтобы понять свой подход к работе, а не пытаться понять, плохой ли вы программист или хороший.## Вызов упражнения

Вы должны написать два небольших Python скрипта, которые используют две методики для тестирования обработки аргументов командной строки:

  • Привычная старая sys.argv, как обычно.
  • Библиотека argparse Python для более продвинутой обработки аргументов.

Ваши тестовые скрипты должны быть способны обрабатывать следующие ситуации:

  • Получите помощь с помощью --help или -h.
  • По крайней мере, три параметра являются флагами, что означает, что они не требуют дополнительного параметра; достаточно просто указать их в командной строке.
  • По крайней мере, три параметра являются опциями, то есть они принимают один аргумент в вашем скрипте и устанавливают переменную значением этого аргумента.
  • Дополнительные "позиционные" параметры — это список файлов, расположенный после всех параметров в стиле --, и способный обрабатывать терминальные шаблоны, такие как *.txt.

Потому что этот упражнение — спайк, вы должны делать это следующим образом: если вам становится больно во время тестирования, вы можете отказаться от него и попробовать что-то другое. Начните пытаться решить эту проблему с помощью sys.argv, а затем, если вы не сможете придумать решение, попробуйте использовать argparse.Помните, что это упражнение длится 45 минут, и вам нужно продолжать его выполнять. Вы также должны отслеживать всё, что вы делаете, чтобы начать. Цель этого упражнения — понять, как продолжать начатый проект своим способом. Даже до того, как вы начали, вы ли сами себя отговаривали? Не знали ли вы, где находится ваш текстовый редактор или как им пользоваться? Запишите это, а затем найдите способ преодолеть это препятствие.Однако не путайте строгое 45-минутное упражнение со сдачей в бессилии. Вы пытаетесь сделать что-то за 45 минут. Если уровень ваших навыков такой, что вы завершили файл ex4.py и больше ничего, то вы сделали что-то за эти 45 минут. Затем вы должны просмотреть, почему вы сделали всё это, чтобы начать создание этого файла, понять, что вам нужно сделать дальше, а затем попробовать ещё одно 45-минутное упражнение.

Ответы

Чтобы предотвратить возможность списывания, код всех ответов расположен на сайте проекта книги http://bit.ly/lmpthwsolve, который хранится на https://github.com/. Вместо того чтобы включать код здесь, когда вы хотите списать, вам придётся просто взглянуть на него и посетить проект, а затем проверить каталог ex4, чтобы узнать, как я реализовал эту магию. Вы также найдёте мои заметки о том, как я начал и улучшал.

Предупреждение

Если вы столкнулись с препятствием, вернитесь к третьей части и используйте процесс Early Coders, предоставленный мной. Вам нужно составить список действий, выполнить его и проверить, что вы делаете. Вот и всё.

Исследовательское обучение

  • Сколько других библиотек для анализа параметров Python существует?
  • Какие основные преимущества имеет argparse перед sys.argv?
  • Чего можно добиться, улучшив метод запуска проекта? Есть ли что-то, что можно было бы убрать?---

Текст переведён на русский язык, сохранены все элементы кода, ссылки и структура документа.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/wizardforcel-lmpythw-zh.git
git@api.gitlife.ru:oschina-mirror/wizardforcel-lmpythw-zh.git
oschina-mirror
wizardforcel-lmpythw-zh
wizardforcel-lmpythw-zh
master