簡體   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