如何修复文本文件的解析?

时间:2019-07-07 01:42:18

标签: python readline

我正在尝试解析文本文件,从那时起,我可以确定它是否在行y=x上方,上方,下方或下方。该代码贯穿始终,但没有执行我的readline()

我正在使用的文本文件是这样:

4
2
1
3
3
5
6
7
8

我通过执行不同形式的readline()来更改了代码。

if res == "yes":
    with open('text.txt', 'r') as f:
        alist = [line.rstrip() for line in f]
        timesgo = 0
        terms = f.readline()
        while str(terms) > str(timesgo):
            temp = f.readline()
            y = f.readline()
            if temp < y:
                u = str(temp) + "," + str(y)
                Above.append(u)
                timesgo += 1
            elif temp == y:
                u = str(temp) + "," + str(y)
                On.append(u)
                timesgo += 1
            if temp > y:
                u = str(temp) + "," + str(y)
                Below.append(u)
                timesgo += 1

对于文件,我希望总共有4个坐标:(2,1)(3,3)(5,6)(7,8)应该附加到适当的列表中按进一步的代码排序。

1 个答案:

答案 0 :(得分:0)

我的版本:

if res == "yes":
    with open('text.txt') as f:
        terms = f.readline()
        for _ in range(int(terms)):

            x = int(f.readline())
            y = int(f.readline())

            #u = (x, y)              # as tuple with numbers
            u = "{},{}".format(x, y) # as string

            if x < y:
                Above.append(u)
            elif x > y:
                Below.append(u)
            else
                On.append(u)

您的错误是

alist = [line.rstrip() for line in f]

该文件正在读取文件中的所有行,后来readline()则没有任何内容可读取。

其他更改只是装饰性的。