python do oczekiwania na wykonanie polecenia powłoki

Używam skryptu, aby rozwinąć niektóre pliki, a następnie usunąć pliki rar. Robię to, uruchamiając polecenie przez powłokę. Próbowałem kilku różnych sposobów, aby skrypt poczekał, aż się rozpakuje, ale nadal działa i usuwa plik, zanim zostaną wykonane.

Wypróbowałem poniższy kod, który jest bezużyteczny. Próbowałem sprawdzić, czy uda mi się zaczekać (), ale też nie mieć szczęścia.

Jakieś pomysły? uruchomiony python 2.7

EDYCJA: Chcę, aby skrypt uruchomił polecenie :)

            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