Python:如何从没有[u'']的项目中获取字符串

时间:2017-01-03 14:49:44

标签: python dictionary unicode

我在这里使用python 2.7。我有一些代码来提取某些mp3标签,比如这里

mp3info = EasyID3(fileName)
print mp3info
print mp3info['genre']
print mp3info.get('genre', default=None)
print str(mp3info['genre'])
print repr(mp3info['genre'])
genre = unicode(mp3info['genre'])
print genre

我必须使用名称[' genre']而不是[2],因为顺序可以在曲目之间变化。它产生这样的输出

{'artist': [u'Really Cool Band'], 'title': [u'Really Cool Song'], 'genre': [u'Rock'], 'date': [u'2005']}
[u'Rock']
[u'Rock']
[u'Rock']
[u'Rock']
[u'Rock']

起初我就像,#34;为什么要感谢你,我摇滚"但后来我继续尝试调试代码。正如您所看到的,我尝试了一些不同的方法,但它们都不起作用。我想要的就是输出

Rock

我认为我可能会使用分裂,但这可能会很快变得非常混乱,因为艺术家或标题可能包含的明显可能性

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

它不是一个可以使用split的字符串,它是一个列表;该列表通常(总是?)包含一个项目。所以你可以得到第一项:

genre = mp3info['genre'][0]

答案 1 :(得分:1)

[u'Rock']

长度为1的列表,其单个元素是Unicode字符串。

尝试

 print genre[0]

仅打印列表的第一个元素。