Python 如何在字典值中插入换行符?

Python 如何在字典值中插入换行符?,python,python-3.x,dictionary,newline,key-value,Python,Python 3.x,Dictionary,Newline,Key Value,我有一个嵌套字典,它存储了MP3及其音乐的集合。第一级词典存储MP3本身,第二级词典存储容量和音乐信息。字典可以是: {'mp3One': {'Capacity': 50, 'songOne': 50}, 'mp3Two': {'Capacity': 150}} 我希望在第二级字典中的值后插入换行符,以便在打印时看起来像这样: {'mp3One': {'Capacity': 50, 'songOne': 50 }, 'mp3Two': {'Capacity': 1

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

{'mp3One': {'Capacity': 50, 'songOne': 50}, 'mp3Two': {'Capacity': 150}}
我希望在第二级字典中的值后插入换行符,以便在打印时看起来像这样:

{'mp3One': {'Capacity': 50, 
            'songOne': 50 }, 
 'mp3Two': {'Capacity': 150}
}
这样,我可以在每首歌后都有一个换行符,或者
capacity
。目前,音乐的键和值是通过这一行添加的:

mp3Collection[MP3Name][songName] = songSize
我已尝试将sting连接与
\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'

来处理格式设置,您只需将其以非常小的宽度提供给
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'

来处理格式设置。要以美化的方式打印JSON,您可以尝试
导入JSON;print json.dumps(dct,indent=4)
同意@ZdaR——我想你是在添加换行符,当你打印它时,它只是显示为
\n
。要以美化的方式打印json,你可以尝试
导入json;打印json.dumps(dct,indent=4)
同意@ZdaR——我想你是在添加换行符,它只是在打印时显示为
\n
。在
pprint.pprint(d,width=1)
1
代表什么?@AugustWilliams指导
pprint
遵守该宽度。事实上,它不可能做到这一点,这将迫使它在得到第一次更改时断行(这里是字典值的逗号)。这是我假设的字符宽度?@AugustWilliams是的,没错。如果您想了解更多信息,请查看
pprint
1
pprint.pprint(d,width=1)
中代表什么?@AugustWilliams指示
pprint
遵守该宽度。事实上,它不可能做到这一点,这将迫使它在得到第一次更改时断行(这里是字典值的逗号)。这是我假设的字符宽度?@AugustWilliams是的,没错。如果您想了解更多信息,请查看
pprint