Python, как передать имя индекса цикла как команду os.system для вывода - PullRequest
0 голосов
/ 28 августа 2018
def node_runlist():
 csvfile = open("/tmp/noderunlist.csv", "a")
 writer = csv.writer(csvfile)
 writer.writerow(['NodeName','Environment','IP','Roles','Recipes','Platform'])
 report = os.system("knife node list >> /tmp/node.txt")
 with open('/tmp/node.txt', 'r') as node_file:
 for node_name in node_file:
    print(node_name)
    writer.writerow([
        str(node_name),
        str(os.system("knife node show %node_name | grep Environment | awk 
          '{print $2}' ")),
        str(os.system("knife node show %node_name | grep IP | awk '{print 
           $2}' ")),
        str(os.system("knife node show %node_name | grep Run | awk '{print 
           $3}' ")),
        str(os.system("knife node show %node_name | grep Recipes | awk 
          '{print $2}' "))
     ])

Как передать имя индекса цикла как команду os.system для вывода, ниже приведена ошибка:

имя_узла

sh: -c: строка 0: синтаксическая ошибка рядом с неожиданным токеном `('
sh: -c: строка 0: `Показ узла узла% (имя_узла) s | grep Окружающая среда | awk '{print $ 2}' '
sh: -c: строка 0: синтаксическая ошибка рядом с неожиданным токеном `('
sh: -c: строка 0: `Показ узла узла% (имя_узла) s | grep IP | awk '{print $ 2}' '
sh: -c: строка 0: синтаксическая ошибка рядом с неожиданным токеном `('
sh: -c: строка 0: `Показ узла узла% (имя_узла) s | grep Run | awk '{print $ 3}' '
sh: -c: строка 0: синтаксическая ошибка рядом с неожиданным токеном `('
sh: -c: строка 0: `Показ узла узла% (имя_узла) s | рецепты grep | awk '{print $ 2}' '

...