繁体   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