使用课程从.txt文件创建字典

时间:2018-04-09 03:34:22

标签: python

编写程序以创建具有文件中键值对的字典 “CourseInstructor.txt” 我开始使用txt文件创建字典,但收到以下错误:

Course=("CourseInstructor.txt",'r')
for line in Course:
    key,val = line.split(" ")
    Inst[key] = val
Course.close()

ValueError:没有足够的值来解包(预期2,得到1)

2 个答案:

答案 0 :(得分:3)

你应该这样做:

Inst = dict()
with open("CourseInstructor.txt",'r') as Course:
    for line in Course:
        key,val = line.rstrip("\n").split(" ")
        Inst[key] = val

打开文件的最佳方法是with,之后会关闭文件。 rstrip("\n")将从每行末尾删除\n。 您应该知道的另一件事是您的输入文件(CourseInstructor.txt)应该是这样的:

key1 value1
key2 value2
key3 value3

如果您的文件不包含新行,请使用:

your_string = your_string.split(" ")
keys = [i for i in your_string[::2]]
values = [i for i in your_string[1::2]]
final_dict = {keys[i]:values[i] for i in range(len(values)) }

答案 1 :(得分:0)

如果您的文件如下所示:

key1 value1
key2 value2
key3 value3

你可以尝试:

print({line.split()[0]:line.split()[1] for line in open('file','r')})

输出:

{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}

当文件对象被垃圾收集时,文件最终将被关闭。 check this了解更多信息。