for text in Horizontal_File:
if text.find("THETA PHI")!=-1:
valueoftext = Horizontal_File.readline()
SplitValue=valueoftext.split()
phi_List_Horizontal.append(SplitValue[1])
RCS_List_Horizontal.append(SplitValue[6])
它引发的错误是#34; ValueError:混合迭代和读取方法会丢失数据"
答案 0 :(得分:3)
for text in Horizontal_File:
每次迭代循环时,始终会获得下一行文件。
readline()也为每次调用获取下一行(在本例中为相同的)文件。
因此,文本将包含文件的第1行
如果您在文本中找到要搜索的内容,则valueoftext将采用文件的第2行
下一次循环调用将获得第3行,循环开始将永远不会出现第2行
Python认为这是一个错误,因为通常你希望循环获取所有行,你写的内容通常是错误。
如果情况确实如此,那么你必须做一个解决方法,以便python明白你的意思。在Python 2中,您可以使用valueoftext = Horizontal_File.next()并在Python 3中使用valueoftext = next(Horizontal_File)。但是,您应该确保在尝试获取下一行时没有到达文件末尾,否则您将收到StopIteration异常。