«Голые потребности»

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

Что такое Python?

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

Короче говоря, это язык программирования, который прост в использовании и выполняет свою работу.

Что такое Cloud 9?

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

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

Предпосылки:

  • Понимание базового синтаксиса Python
  • IDE (облако 9)
  • Знание основных команд Linux.

Сценарий

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

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

Создание скрипта

Первое, что нам нужно сделать, это открыть файл и начать писать наш скрипт.

Перейдите к выбранной вами среде IDE и обязательно создайте файл с расширением «.py». В этой демонстрации я буду использовать Cloud 9. Обратите внимание, что если вы используете другую IDE, инструкции могут отличаться.

Не забудьте запустить скрипт, вам также нужно будет сделать исполняемый файл

Чтобы сделать файл исполняемым, введите следующую команду:

chmod u+x <file_name>

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

Сценарий

Здесь мы рассмотрим сценарий, который я создал, и разберем его синтаксис, чтобы сделать его легко усваиваемым.

#!/usr/bin/env python

import os


directory = os.getcwd()
file_attr_list = []

for file_name in os.listdir(directory):
    
    for file_size in range(os.path.getsize(directory)):
        
        file_attr = {
    "name": file_name,
    "size": os.path.getsize(file_name)
}

    file_attr_list.append(file_attr)

    print(file_attr)

Начнем с первого пункта.

import os

Модуль «os» в основном дает нам возможность работать с нашей операционной системой, чтобы мы могли собирать необходимую информацию для выполнения задачи. Без использования этой встроенной библиотеки нам пришлось бы кодировать все это каждый раз, когда мы хотели создать скрипт, требующий работы с операционной системой.

directory = os.getcwd()

Это установленная мной переменная, которая позволяет нам получить «текущий рабочий каталог». Если бы мы не использовали это, нам нужно было бы каждый раз вводить путь к каталогу, с которым мы работаем. Это быстро надоедает, поэтому мы автоматизируем это с помощью этой функции.

file_attr_list = []

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

for file_name in os.listdir(directory):
    
    for file_size in range(os.path.getsize(directory)):

В этом разделе кода мы используем циклы for, чтобы просмотреть каталог и собрать необходимую информацию, которую мы ищем. Здесь мы используем некоторые функции из модуля os, что позволяет нам быстро собирать информацию с очень небольшим количеством кода. Подробнее о функциях можно узнать здесь, если хотите.

file_attr = {
    "name": file_name,
    "size": os.path.getsize(file_name)
}

Здесь мы создаем словарь. Вы можете думать об этом аналогично базе данных, у нас есть ключ и значение.

file_attr_list.append(file_attr)

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

print(file_attr)

Здесь мы будем печатать вывод.

Тестирование скрипта

Итак, мы добрались до полигона. Здесь мы проверим, действительно ли работает сценарий, над которым мы так усердно работали.

Отказ от ответственности: мне удалось застрять здесь на несколько часов из-за ошибки отступа. Я усвоил урок на собственном горьком опыте!

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

Хорошо, давайте перейдем к нашей IDE и проверим, что скрипт в рабочем состоянии.

Давайте перейдем к терминалу Linux, поскольку он работает на сервере Linux, и проверим файлы, которые у нас есть в текущем рабочем каталоге. Перейдите в каталог, в котором вы хотите запустить скрипт.

Чтобы получить список файлов, введите следующую команду:

ls

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

Чтобы запустить скрипт, введите следующую команду:

python3 <file_name>

Как вы можете видеть на фотографии выше, мы успешно зафиксировали все имена и размеры каждого файла.

Мы могли бы сделать еще много работы над этим сценарием, чтобы сделать его более эффективным, а также выглядеть немного чище. Пока мы работаем с самым необходимым.

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

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

Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord.

Повысьте узнаваемость и признание вашего технического стартапа с помощью Circuit.