Chamando um programa não python do python?

Atualmente, estou lutando para chamar um programa não python a partir de um script python.

Eu tenho uns ~ 1000 arquivos que, quando passados por esse programa C ++, gerarão ~ 1000 saídas. Cada arquivo de saída deve ter um nome distinto.

O comando que desejo executar é da forma:

program_name -input -output -o1 -o2 -o3

Até o momento eu tentei:

import os

cwd = os.getcwd()

files = os.listdir(cwd)

required_files = []

for i in file:
    if i.endswith('.ttp'):
         required_files.append(i)

Então, eu tenho uma matriz dos arquivos necessários. Meu problema - como faço para percorrer a matriz e, para cada entrada, passar para o comando acima (nome_do_programa) como argumento e especificar um ID de saída exclusivo para cada arquivo?

questionAnswers(1)

yourAnswerToTheQuestion