将文件转换为dict

use*_*861 3 python string dictionary file

我如何获取文件的内容并将其更改为字典?内容将包括此表单中的菜单项:

1 Chocolate ice cream
2 Green tea
 8 Shrimp roll
Run Code Online (Sandbox Code Playgroud)

而且我希望关键是作为食品的数量和价值.

到目前为止,我得到了:

d = {}
for line in menu.read().strip().split():
      d[line[0]] = d[line[1:]]
return d
Run Code Online (Sandbox Code Playgroud)

但这出现了扭曲......

Mar*_*ers 5

循环遍历文件对象,然后拆分行:

with open('inputfilename.txt') as menu:
    d = {}
    for line in menu:
        key, value = line.split(None, 1)
        d[key] = value.strip()
    return d
Run Code Online (Sandbox Code Playgroud)

.split(None, 1)调用应用默认的分割算法(在任意宽度的空白上分割),但将其限制为仅一个分割以仅返回2个项目.优点是,在拆分前删除前导空格时,也会正确处理以空格开头' 8 Shrimp roll'行(例如帖子中的行).

这会产生:

{'2': 'Green tea', '1': 'Chocolate ice cream', '8': 'Shrimp roll'}
Run Code Online (Sandbox Code Playgroud)