从.txt文件到字典

时间:2016-01-21 17:14:56

标签: python

我使用python 2.7,我需要做一些算法,我需要一些帮助: 该函数需要读取一些数据:数据模型如下:

  

#some_album * song_name :: writer :: duration :: song_lyrics

在整个txt文件中,我需要使用函数split()进入每个位置,例如:专辑名称和歌曲名称。 我有一些问题:

  1. 如何在两个字符之间使用split() - 例如:到一个专辑名称,在#到* ????之间分开
  2. 我想将所有txt文件分成字典,相册是关键字,而值是另一个字典,他的密钥是歌曲名称,值是列表这首歌中的所有歌词。问题是我怎么能用循环或任何其他想法来做,因为我希望它划分船体txt文件,而不仅仅是他的一部分。 这就是我现在所做的事情:

    data_file = open("<someplace>","r")
    data = data_file.readlines()
    data = str(data)
    i=0
    for i in data:
        albums= {data.split('#','*')[0] : data.split("::")[0]}
    

    只打印专辑和第一首歌的名字。我不明白如何用一些循环来做到这一点?

1 个答案:

答案 0 :(得分:0)

参考您的第一个问题,我建议您使用“正则表达式操作模块”re

>>> import re
>>> str = 'py=th;on'
>>> lst = re.split("=|;",str)
>>> lst[1]
'th'