如何将换行符插入字典值?

How to insert newline character into a dictionary value?

我有一个嵌套字典,用于存储 MP3 及其音乐的集合。一级字典存储 MP3 本身,二级字典存储容量和音乐信息。字典可以是:

{'mp3One': {'Capacity': 50, 'songOne': 50}, 'mp3Two': {'Capacity': 150}}

我想在二级字典中的值后插入换行符,以便打印时看起来像这样:

{'mp3One': {'Capacity': 50, 
            'songOne': 50 }, 
 'mp3Two': {'Capacity': 150}
}

这样一来,我就可以在每首歌曲后都有一个换行符,或者capacity。目前,音乐的键和值是用这一行添加的:

mp3Collection[MP3Name][songName] = songSize

我试过使用字符串连接 \n:

mp3Collection[MP3Name][songName] = str(songSize) + "\n"

但这会将 "\n" 添加到字典值,而不是换行符。我知道这可以使用字符串格式来完成?但我真的不确定该怎么做。

您可以将它提供给 pprint,宽度非常小,应该通过在每个逗号后强制添加新行来按照您需要的方式打印出来,以使其尽可能符合要求到宽度:

>>> import pprint
>>> d = {'mp3One': {'Capacity': 50, 'songOne': 50}, 'mp3Two': {'Capacity': 150}}
>>> pprint.pprint(d, width=1)
{'mp3One': {'Capacity': 50,
            'songOne': 50},
 'mp3Two': {'Capacity': 150}}

更改字典和添加新行不会影响输出格式,您需要使用 pprint 或通过循环和添加打印来处理格式 '\n'