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/