Передача нескольких аргументов в Python __name __ == "__ main__"

У меня есть функция python, вызываемая из __main__, которая принимает 2 аргумента. Первый - это действие, а второй - имя переключателя. Мне нужно, чтобы __main__ принимал одно ключевое слово и несколько переключателей одновременно и вызывал функцию с использованием многопоточности как function(action,switch1), function(action,switch2), function(action, switch3) и т. д.

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

if __name__= = "__main__":
        import argparse
        parser = argparse.ArgumentParser(description = "Enter ACTION & SWITCHNAME")
        parser.add_argument('action')
        parser.add_argument('switch', nargs='*')
        args = parser.parse_args()
        for arg in vars(args):
            print getattr(args, arg)

            SanSwitchTasks.SupportSaveCollection(SWITCHNAME)    

Это просто обычная инструкция if. sys.argv имеет то же значение, независимо от того, установлен ли __name__ на "__main__".

chepner 15.08.2018 20:29
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
1
186
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я не уверен, в чем проблема, просто переберите переключатели.

for switch in args['switch']:
    function(args['action'], switch)

для переключателя в args ['switch']: TypeError: объект 'Namespace' не имеет атрибута 'getitem'

Manu SS nair 15.08.2018 21:30

Неважно .. Я понял .. args = vars (parser.parse_args ()) для переключения в args ['switch']: print switch

Manu SS nair 15.08.2018 21:40

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