У меня есть функция 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)






Я не уверен, в чем проблема, просто переберите переключатели.
for switch in args['switch']:
function(args['action'], switch)
для переключателя в args ['switch']: TypeError: объект 'Namespace' не имеет атрибута 'getitem'
Неважно .. Я понял .. args = vars (parser.parse_args ()) для переключения в args ['switch']: print switch
Это просто обычная инструкция
if.sys.argvимеет то же значение, независимо от того, установлен ли__name__на"__main__".