Как передать аргументы функциям при выполнении сценария Python от терминала?

Мне назвали файл Python solution.py и я могу успешно выполнить его через терминал с помощью следующих команд:

chmod +x solution.py
python3 solution.py

Это работает просто великолепно, если у меня есть простые фразы печати и так далее.

Что я должен сделать, если я определил функцию в solution.py и я хочу назвать его с параметрами, которые я хочу непосредственно от терминала? Как я передаю аргументы вызову функции?

6
задан 17 July 2015 в 12:24

2 ответа

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

, Таким образом, необходимо проанализировать аргументы в коде и попытке поймать и выбрать аргументы в коде.

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

1
ответ дан 23 November 2019 в 07:17

Можно также использовать sys модуль. Вот пример:

import sys

first_arg = sys.argv[1]
second_arg = sys.argv[2]

def greetings(word1=first_arg, word2=second_arg):
    print("{} {}".format(word1, word2))

if __name__ == "__main__":
    greetings()
    greetings("Bonjour", "monde")

Это имеет поведение Ваш, ищут:

$ python parse_args.py Hello world
Hello world
Bonjour monde
18
ответ дан 23 November 2019 в 07:17

Другие вопросы по тегам:

Похожие вопросы: