读取文本文件,然后将第一个和第三个单词分别作为键和值存储在字典中

时间:2015-11-21 00:19:33

标签: python file dictionary split

以下是代码:

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语句最终是一个空字典,因此它不会向字典中添加键和值

请帮助

4 个答案:

答案 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或其他东西。