Я бы открыл файл для чтения, прочитал все его содержимое в виде строк в списке, закрыл файл и затем снова открыл его, чтобы написать на нем:
for aa in all_firm:
r = open (aa,'r+')
lines = r.readlines()
r.close()
w = open (aa,'w')
for bb in lines:
raw = nltk.clean_html(bb)
raw2=str(raw)
w.write(low_firm)
Это потому, что я чувствую, что легче переписать весь файл, когда он содержит текст (вместо регистра или других двоичных данных). Почти всегда это не слишком медленно для текстовых файлов, поскольку текстовые файлы не такие большие, как, скажем, файлы баз данных. Возможно, это не лучшее решение для вас, но я все равно рекомендую попробовать.