Рубрики
Без рубрики

Аргументы командной строки: часть 1

Аргументы командной строки. Что они на самом деле? Зачем вам их использовать? Аргументы командной строки … Tagged с Python, Tuperial, Management, OpenSource.

Аргументы командной строки. Что они на самом деле? Зачем вам их использовать?

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

Enter your first name: 
Enter your second name:

Вместо этого вы можете просто запустить программу;

python user_name.py John Doe

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

  1. Аргв
  2. Аргарс
  3. getopt

Чтобы начать, давайте начать с использования Аргв . Для этой иллюстрации мы будем писать простую программу, которая берет номер и возвращает квадрат. Теперь это не что -то крутое?

Мы начнем с написания программы как та, которая обычно имела бы:

# square_numbers.py
#program that allows the user to enter a number and print the square.


def main(number):
    """Return the square of the number """
    return number* number

number = int(input("Enter a number to square:"))
print(main(number))

Теперь, чтобы получить результат, у вас обычно будет что-то подобное в командной линии

python square_numbers.py

Затем вы получите подсказку:

Enter a number to square:

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

# square.py
# get the square of numbers using command_line_arguments

def main(number):
    """Return the square of the number """
    return number* number

#convert the argument to an integer since it is read as a string.
number = int(sys.argv[1])

print(main(number))

Чтобы получить результат от этого:

python square.py 5

Курс результатом будет 25 ! Обратите внимание, однако, как мы получаем значение 5 от командной строки. В программе мы импортируем Sys , Модуль короткая форма для системных параметров и функций. Затем мы используем его в сочетании с Аргв . Почему? Просто потому, что как модуль, Sys имеет много бочек под его поясом. Мы просто указываем, что из этого колодца, которые у вас есть, мы хотим доступ к аргументам командной строки и, таким образом, так называемые argv , в буквальном смысле.

Вот улов, sys.argv читает элементы как список. Что это значит? Это значит все после слова Python это элемент в списке «виртуальные». Итак, наш список выглядит так:

[ 'square' , '5' ]

Это пролит некоторый свет на то, почему у нас есть sys.argv [1] Чтобы получить второй элемент в списке. Помните, если вы не R Программист, который справляется с 1, подсчет начинается с 0 (ноль). Я точно знаю? R программисты так странно. Харрисон, если вы читаете это, не удаляйте мою учетную запись в Твиттере.

Фото Чарльза на Unsplash (это может быть Харрисон, но никто никогда не узнает)

В любом случае, где мы были? О, верно, Получение значений из терминала.

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

# add.py
# get the sum of two numbers
import sys

def main(first_number, second_number):
    """Return the SUM of the number """
    return first_number + second_number


first_number = int(sys.argv[1])
second_number = int(sys.argv[2])

print(main(first_number, second_number))

На этот раз, если мы напишем Python add.py 5 6 , мы получим результат 11, First_number Быть 5 В то время как второй, 6 Анкет Мы сделали это! Самая простая программа в мире, кроме, ну, в общем, Привет, мир но с изюминкой. Эта краткая статья должна дать вам отличную основу для создания тонны отличных программ. Просто пройдите в переменную, абсолютно все; URL, путь к файлу, вы назовите его. При условии, что ваша программа прочитает и использует ее.

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

Оригинал: “https://dev.to/marvinkweyu/command-line-arguments-part-1-327m”