Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python程序赢得';无法读取文本文件中的新行_Python_File_Text Files_Readline - Fatal编程技术网

Python程序赢得';无法读取文本文件中的新行

Python程序赢得';无法读取文本文件中的新行,python,file,text-files,readline,Python,File,Text Files,Readline,我试图逐行读取一个文本文件,以便将信息存储到一些变量中,但它在文件结束前捕获了一个错误。 执行line=f.readline().strip()时,程序拒绝读取文件中的下一行,出现以下错误: 回溯(最近一次呼叫最后一次): 文件“/Users/JoCarbons/PycharmProjects/untitled/venv/Gestione.py”,第48行,主视图 line = f.readline().strip() AttributeError:对象没有属性“readline” 这是主文件

我试图逐行读取一个文本文件,以便将信息存储到一些变量中,但它在文件结束前捕获了一个错误。 执行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, tipo, targa, categoria, posti, modello, 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

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

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

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(cod、tipo、targa、categia、posti、modello、marca)”之前,这一行“f”是您先前打开的文件的对象。在此语句之后,它不再是文件对象。因此,它将不具有与文件相关的属性。 我不确定您在这句话中想要实现什么,但是如果可能的话,您可以在这里更改变量名。使用任何其他变量来分配Furgone(cod、tipo、targa、Categia、posti、modello、marca)而不是“f”


向我们展示了您的整个代码,
f
是如何定义的?我试过了,但它仍然返回了一个错误,就在这里:f=Furgone(cod、tipo、targa、categoria、posti、modello、marca)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(cod, tipo, targa, categoria, posti, modello, marca)
line = f.readline().strip()