我正在尝试从名为“sobelPix [i] .txt”的一定数量的文本文件中获取数据,并将其重写在名为“newData.txt”的单个文本文件中。因此,来自一个“sobelPix”文件的所有数据应该是“newData”文件中的一行。
我的问题是,每次程序打印来自新的“sobelPix”文件的数据时,它不会转到行,而只是在相同的第一行上覆盖。所以,最终,我最终只得到了最后一个“sobelPix”文件中的数据。 我不知道如何遍历“newData”文件的行,因为它被认为是一个空文件......
你能帮助我吗? 谢谢!我的代码:
i = 0
while not (i == 2):
o = open("sobelPix" + str(i) + ".txt", "r")
l = open("newData.txt", "w+")
num = 0
lines = o.readlines()
print("sobelPix" + str(i) + ".txt")
for line in lines:
r, g, b = map(int, line.split())
l.write(str(num) + ":"+ str((r+g+b)//3) + " ")
num += 1
#pb: it's never going to the line
#l.write("\n")
i += 1
答案 0 :(得分:0)
我认为Jackopo说得对,你打开newData.txt文件多次没有关闭它。尝试这样的事情(未经测试):
i = 0
l = open("newData.txt", "w+")
while (i < 2):
o = open("sobelPix" + str(i) + ".txt", "r")
num = 0
lines = o.readlines()
print("sobelPix" + str(i) + ".txt")
for line in lines:
r, g, b = map(int, line.split())
l.write(str(num) + ":"+ str((r+g+b)//3) + " ")
num += 1
#pb: it's never going to the line
#l.write("\n")
o.close()
i += 1
l.close()