0

我试图从一定数量的名为“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  
4

1 回答 1

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()
于 2013-05-23T22:20:50.553 回答