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


我有此代码,我试图获取一个文件并将其重写为output.txt,但是当我要附加下一个文件时,我的代码将覆盖已附加的旧文件。结果,当代码完成时,我将得到以下内容:

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


而不是文件0到5169范围内的数据。如何解决该问题的任何提示?

最佳答案

您的问题是您以写模式打开。要附加到文件,您要使用附加。请参见here

关于python - 为什么循环覆盖我的文件而不是在文本后写?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13069508/

10-11 19:39