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

OSCHINA-MIRROR/wizardforcel-lmpythw-zh

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

Упражнение 6: find

Оригинал: Упражнение 6: find

Переводчик: Феликс Волков

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

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

Надеюсь, вы уже нашли различные способы, которые мешают вам приступить к работе, даже до того как вы начали. Возможно, это не так драмматично, но вы должны хотя бы определить вещи, которые можно улучшить в вашей среде, что делает вас менее склонным к началу работы. Эти небольшие упражнения — отличный способ сосредоточиться на старте, поскольку они не такие важные и могут поместиться в временной масштаб, подходящий для вашего анализа. Если эти проекты будут длиться несколько часов, когда вы будете пересматривать то, что сделали, и делать улучшения, вы можете почувствовать скуку. Краткосрочные 45-минутные проекты — это то, что вы можете записывать и очень быстро пересматривать.Это один из методов, который я использовал во время обучения. Я определяю области, где мне нужно улучшение, например, когда я начинаю работу или как я использую тот или иной инструмент. Затем я создаю упражнение, чтобы сосредоточиться на этой задаче. Когда я учился рисовать, я выходил и пытался рисовать деревья. Я садился и рассматривал проблему, и первое, что я заметил, было то, что я беру с собой слишком много предметов. Я также распределял все свои вещи по случайным местам рядом со своим домом. Я купил специальный набор для своих художественных материалов и поддерживал его всегда готовым. Когда я хотел рисовать вне дома, я брал этот набор, шёл к одному из нескольких мест, а не планировал заранее, куда буду рисовать. Я практиковался в том, чтобы взять свой набор, пойти к одному из двух мест, подготовиться, нарисовать картину, а затем вернуться домой, пока всё это не стало таким гладким, как шёлк. После этого я просмотрел работы Боба Росса и понял, как рисовать деревья, потому что этот человек мог быстро нарисовать множество деревьев.Именно это вы должны сделать. Многие люди тратят время и энергию на бесполезные занятия на работе. У вас есть ли специальное рабочее место, которое никогда не меняется? Я отказался от своего ноутбука и теперь использую только настольный компьютер, чтобы работать в одном и том же месте. Это также освобождает мою спину и шею от этой металлической массы, даёт мне больше экрана для работы и повышает мою продуктивность. В этом упражнении я хочу, чтобы вы сосредоточились на своём рабочем пространстве и убедились, что оно готово перед тем, как начать работу.

  • У вас достаточно света?

  • Вам требуется меньше света?

  • Как ваш стул?

  • Вам нужна лучшая клавиатура?

  • Есть ли ещё какие-то инструменты, которые мешают вам?

  • Вы пытаетесь выполнять Unix-команды на машине с Windows?

  • Пытаетесь делать что-то для Mac на Linux?

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

  • Как ваш стол?

  • У вас он есть?

  • Вы целый день работаете в кафе за ужасный стул и пьёте кофе?

  • А музыка?

  • Вы слушаете песни с текстами?

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

  • Вы работаете в открытом офисе, ваши коллеги отвлекают вас?

  • Купите себе большие наушники, закрывающие уши.Когда вы надеваете их, становится очевидно, что вы не хотите привлекать внимание, поэтому люди будут вас игнорировать. Это также поможет избежать отвлекающих факторов и сосредоточиться на работе. Используйте это упражнение для размышлений над такими темами и попытайтесь упростить и улучшить вашу среду. Одно условие — не тратите много денег на экзотические инструменты. Определите проблему, а затем попробуйте найти решение.## Упражнение по вызову

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

find . -name "*.txt" -print

Это будет искать каждый файл в текущей директории, заканчивающийся на .txt, и выводить его имя. У команды find множество параметров командной строки, поэтому вы не должны пытаться реализовать все за 45 минут. Общий формат команды find выглядит так:

  • Начальная директория для поиска: . или /usr/local/.
  • Фильтрационный параметр, такой как -name или -type d (файлы типа "directory").
  • Действие, которое выполняется для каждого найденного файла: -print.

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

find . -name "*.rb" -exec rm {} \;

Не запускайте эту команду, если вы не осознаёте, что она удалит все файлы с расширением .rb. Параметр -exec требует указания команды, которая заменяет {} на имя файла, а затем прекращает чтение команды при встрече ; (точки с запятой). В приведённом выше примере мы используем \;, потому что многие оболочки используют ; (точку с запятой) как часть своего синтаксиса, поэтому нам нужно её экранировать.Это упражнение действительно проверит ваши навыки работы с argparse или sys.argv. Я рекомендую вам запустить man find, чтобы получить список параметров, а затем попытаться воспроизвести эти параметры с помощью find. Вам доступно всего 45 минут, поэтому вы, возможно, не сможете реализовать всё, но -name и -type, а также -print и -exec являются обязательными. Параметр -exec будет настоящим вызовом, поэтому оставьте его на последний момент.

Когда вы начнете реализацию, попытайтесь найти библиотеки, которые могут помочь вам в работе. Вы обязательно должны взглянуть на модуль subprocess и модуль glob. Также стоит внимательнее рассмотреть модуль os.

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

  • Какую часть функциональности find вы смогли реализовать?
  • Какие библиотеки вы нашли для улучшения этой реализации?
  • Включили ли вы время исследования этих библиотек в общее время Yöntem 45 минут? Вы можете сказать, что исследование перед началом работы не считается, это вполне допустимо. Если вы хотите дополнительного вызова, то включите своё исследование в общее время 45 минут.

Исправлено:

Вы можете сказать, что исследование перед началом работы не считается, это вполне допустимо. 
Если вы хотите дополнительного вызова, то включите своё исследование в общее время 45 минут.
```## Глубокое изучение

Вы можете реализовать сколько функциональности `find` в хаке длительностью 45 минут? Возможно, стоит использовать это как подготовку к следующей неделе для хакатона, чтобы посмотреть, что вы сможете сделать. При этом важно попробовать создать лучшее, самое уродливое черное колдовство. Не волнуйтесь, я никому из этих агилистов не расскажу, вы просто играете.

Опубликовать ( 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