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])
它给我带来的错误是“ValueError:混合迭代和读取方法会丢失数据”
Tags:
每次循环迭代都会获取下一行文件
readline()还为每个调用获取文件中的下一行(本例中为同一行)
因此文本将有文件的第1行
如果在文本中找到要搜索的内容,valueoftext将在文件的第2行
循环的下一个调用将得到第#3行,循环的开始部分将永远看不到第#2行
Python认为这是一个错误,因为通常您希望for循环获取所有行,而您编写的通常是一个错误
如果事实并非如此,那么您必须制定一个变通方法,以便python理解您的真正意思。在Python2中可以使用valueoftext=Horizontal\u File.next(),在Python3中可以使用valueoftext=next(Horizontal\u File)。但是,您应该确保在尝试获取下一行时未到达文件的末尾,否则将收到StopIteration异常
相关问题 更多 >
编程相关推荐