繁体   English   中英

文本读取和列表索引超出Python范围

[英]Text reading and list index out of range in Python

我的文本有8行。 程序将读取此文本,并将文本中的单词与用户输入的单词进行匹配。 但是python给出了一个错误:

satir=dosya.readlines()[a]
IndexError: list index out of range

这是我的代码:

a=0
c=0
while a<8:
    satir=dosya.readlines()[a]
    a=a+1
    for i in olasilik:
        if ((olasilik[c]+"\n")==satir):
            c=c+1
            print(olasilik[c])

这不是你应该怎么做

代替做

for satir in dosya:
   #do something

问题是,当您第一次调用readlines() ,它将读取列表中文件的所有内容。 第二次调用该文件时,文件已经完成,您得到一个空列表,并且在尝试访问该空列表的元素1时遇到错误。

要遍历文件的行,您可以执行

for L in f:
    ...

要么

for L in f.readlines():
    ...

这可能会更好地工作:

for satir in dosya.readlines():
  for o in olasilik:
    if ("%s\n" % o) == satir:
      print o

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM