我有一个以下格式的文件:
key1/value1
key2/value2
key3/value3
...
我想把它读成字典。我写了下面的代码来完成这个:
with open(filename, 'r') as dir_file:
return {line.split('/')[0]: line.split('/')[1] for line in dir_file.readlines()}
然而,在我看来,两次调用split()
方法是一个错误的代码,并且必须有一个更简单/更好的方法将该行拆分为我在这里缺少的键值对。
提前谢谢!
答案 0 :(得分:4)
使用以下内容:
>>> with open('my_file.txt', 'r') as f:
... d = dict(line.strip().split('/') for line in f)
...
>>>
>>> d
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
strip()
用于删除每行末尾的\n
。
答案 1 :(得分:1)
你可以试试这个:
new_dict = {a:b for a, b in [i.strip('\n').split("/") for i in open('filename.txt')]}