以下是代码:
def predator_eat(file):
predator_prey = {}
file.read()
for line in file:
list = file.readline(line)
list = list.split(" ")
predator_prey[list[0]] = list[2]
print(predator_prey)
predator_eat(file)
文本文件每行三个字,每行末尾有\ n,我之前打开文件并将文件名存储为变量文件 使用file = open(filename.txt,r)
print语句最终是一个空字典,因此它不会向字典中添加键和值
请帮助
答案 0 :(得分:2)
您对.read()
的第一次调用会消耗整个文件内容,不会让循环迭代。去掉它。并且.readline()
调用没有任何用处。删除它。
答案 1 :(得分:1)
这应该有效:
def predator_eat(file):
predator_prey = {}
for line in file:
words = line.split(" ")
predator_prey[words[0]] = words[2]
print(predator_prey)
答案 2 :(得分:1)
稍微清理一下代码:
def predator_eat(f):
predator_prey = {}
for line in f:
rec = line.strip().split(" ")
predator_prey[rec[0]] = rec[2]
return predator_prey
with open(path) as f:
print predator_eat(f)
答案 3 :(得分:0)
你基本上重新声明python关键字,将文件更改为fileToRead并列出其他类似totalList或其他东西。