Python程序不会读取文本文件中的新行

我试图逐行读取文本文件,以将信息存储到一些变量中,但是在文件结尾之前捕获了一个错误。 在执行line = f.readline()。strip()时,程序拒绝读取文件中的下一行,并且发生此错误:

回溯(最近通话最近一次):

文件“ /Users/JoCarbons/PycharmProjects/untitled/venv/Gestione.py”,主行第48行

line = f.readline().strip()

AttributeError:对象没有属性“ readline”

这是主文件的一部分:

def main(self):

    Veicoli = []

    try:
        f = open("veicoli.txt","r")
        line = f.readline().strip()

        while (line != ''):
            tok = line.split()
            cod = int(tok[0])
            tipo = tok[1]
            targa = tok[2]
            line = f.readline().strip()
            if (tipo == "auto"):
                tok = line.split()
                cilindrata = int(tok[0])
                diesel = bool(tok[1])
                line = f.readline().strip()
                modello = line
                line = f.readline().strip()
                marca = line
                a = Auto(cod,tipo,targa,cilindrata,diesel,modello,marca)
                Veicoli.append(a)
                line = f.readline()
            else:
                #line = f.readline().strip()
                categoria = line
                line = f.readline().strip()
                posti = int(line)
                line = f.readline().strip()
                modello = line
                line = f.readline().strip()
                marca = line
                f = Furgone(cod,categoria,posti,marca)
                line = f.readline().strip()
                Veicoli.append(f)
        f.close()
    except IOError:
        print("IO error found.")
    except:
        print("Unexpected error: ",sys.exc_info()[0])
        raise
mjc151767 回答:Python程序不会读取文本文件中的新行

尝试这个简单的程序,它将打印文件中的每一行

f = open("demofile.txt","r")
for x in f:
  print(x)
,

尝试:

 line = f.read().splitlines()

strip()的使用:       .strip()用于字符串,例如

  line = 'A rose is a rose is a rose is a rose,\n Gertrude Stein (1874 - 1946)'

   print(line.strip())
   A rose is a rose is a rose is a rose,Gertrude Stein (1874 - 1946)
,

以下几行是完全错误的。您正在尝试对无效的对象进行文件操作。直到“ f = Furgone(鳕鱼,tipo,targa,categoria,posti,modello,marca)”之前,此行“ f”是您先前打开的文件的对象。在此语句之后,它不再是文件对象。因此它将没有文件相关的属性。 我不确定您要在此语句中实现什么,但是如果可以的话,您可以在此处更改变量名。使用其他任何变量来分配Furgone(鳕鱼,tipo,targa,categoria,posti,modello,marca),而不是“ f”

f = Furgone(cod,tipo,targa,categoria,posti,modello,marca)
line = f.readline().strip()
本文链接:https://www.f2er.com/2892962.html

大家都在问