[英]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()
I am getting the following error:我收到以下错误:
print (rule[0] + "," +member[1] + ","+ rule[1] + "," +member[2] + ","+ rule[2] + "," + member[3])
IndexError: list index out of range
You need to actually read the file.您需要实际读取文件。 Some thing like this:
像这样的事情:
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")
But actually, the break
statements also seem to certainly be wrong, and possibly the split(",")
also - as in the comments - really need a properly formmatted sample of the input, and a better description of the expected behavior.但实际上,
break
语句似乎也肯定是错误的,并且可能split(",")
也 - 如在评论中 - 确实需要一个格式正确的输入样本,以及对预期行为的更好描述。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.