Python para esperar pelo comando shell para concluir

Eu estou executando o script para unrar alguns arquivos e remover os arquivos rar depois. Eu estou fazendo isso executando o comando através do shell. Eu tentei várias maneiras diferentes para fazer o script esperar até que ele seja descompactado os arquivos, mas ele ainda vai em frente e exclui o arquivo antes de serem usados.

Eu tentei o código abaixo, que é um não ir. Eu tentei ver se eu poderia fazer a espera () funcionar, mas também sem sorte.

Alguma ideia? executando o python 2.7

EDIT: eu quero o script para executar o comando :)

            p = subprocess.Popen('unrar e ' + root + '/' + i + ' ' + testfolder,
                                 bufsize=2048, shell=True,
                                 stdin=subprocess.PIPE)
            p.stdin.write('e')
            p.communicate()

for root, dirs, files in os.walk(testfolder):
    for i in files:

        print 'Deleting rar files'
        os.remove(i)

for i in os.listdir(testfolder):
    if os.path.isdir(testfolder + i):
        shutil.rmtree(testfolder + i)

questionAnswers(2)

yourAnswerToTheQuestion