簡體   English   中英

文件讀取 Python - IndexError:列表索引超出范圍

[英]File read Python - IndexError: list index out of range

def compare():
        file1=open("Rules.txt")
        for rules in file1:
            rule = rules.split(",")
            break
        membersFile=open("Members.txt")
        for members in membersFile:
            member = members.split(',')
            break
        print (rule[0] + "," +member[1] + ","+ rule[1] + "," +member[2] + ","+  rule[2] + "," + member[3])
        if (rule[0]<=member[1]) and (rule[1]<=member[2]) and (rule[2]==member[  3]):
            print (member[0] + " is Continued")
        else:
            print (member[0] + " is Discontinued")
compare()

我收到以下錯誤:

print (rule[0] + "," +member[1] + ","+ rule[1] + "," +member[2] + ","+  rule[2] + "," + member[3])
IndexError: list index out of range

您需要實際讀取文件。 像這樣的事情:

def compare():
        with open("Rules.txt") as file1:
            for rules in file1.readlines():  // <-note readlines()
                rule = rules.split(",")
                break
        with open("Members.txt") as membersFile:
            for members in membersFile.readlines():  // <-here too
                member = members.split(',')
                break
        print (rule[0] + "," +member[1] + ","+ rule[1] + "," +member[2] + ","+  rule[2] + "," + member[3])
        if (rule[0]<=member[1]) and (rule[1]<=member[2]) and (rule[2]==member[  3]):
            print (member[0] + " is Continued")
        else:
            print (member[0] + " is Discontinued")

但實際上, break語句似乎也肯定是錯誤的,並且可能split(",")也 - 如在評論中 - 確實需要一個格式正確的輸入樣本,以及對預期行為的更好描述。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM