Por que loop sobrescrevendo meu arquivo em vez de escrever após o texto?

i = 1 # keep track of file number
directory = '/some/directory/'


for i in range(1, 5170): #number of files in directory
    filename = directory + 'D' + str(i) + '.txt'
    input = open(filename)
    output = open('output.txt', 'w')
    input.readline() #ignore first line
    for g in range(0, 7): #write next seven lines to output.txt
        output.write(input.readline())

    output.write('\n') #add newline to avoid mess
    output.close()
    input.close()
    i = i + 1

Eu tenho esse código, e eu estou tentando obter um arquivo e reescrevê-lo para output.txt, mas quando eu quiser anexar o próximo arquivo, meu código substituir o arquivo mais antigo que foi anexado. Em resultado quando o código está completo eu tenho algo parecido com isto:

dataA[5169]=26
dataB[5169]=0
dataC[5169]=y
dataD[5169]='something'
dataE[5169]=x
data_date[5169]=2012.06.02

Em vez de datas variando de arquivos 0 a 5169. Alguma dica como consertar isto?

questionAnswers(2)

yourAnswerToTheQuestion