Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从.txt文件到字典_Python - Fatal编程技术网

Python 从.txt文件到字典

Python 从.txt文件到字典,python,Python,我正在使用python 2.7,我需要做一些算法,我需要一些帮助: 函数需要读取一些数据:数据模型如下: #一些专辑*歌曲名称::作者::持续时间::歌曲歌词 在整个txt文件中,我需要使用函数split()进入每个位置,例如:唱片集名称和歌曲名称。 我有一些问题: 如何在两个字符之间使用split()-例如:对唱片集名称使用split(),对#到* 我想把所有的txt文件分成一个字典,相册是键的,值是另一个字典,键是歌曲名,值是歌曲中所有歌词的列表。mt的问题是,我如何使用循环或任何其他想法来

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

#一些专辑*歌曲名称::作者::持续时间::歌曲歌词

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

  • 如何在两个字符之间使用split()-例如:对唱片集名称使用split(),对#到*
  • 我想把所有的txt文件分成一个字典,相册是键的,值是另一个字典,键是歌曲名,值是歌曲中所有歌词的列表。mt的问题是,我如何使用循环或任何其他想法来实现它,因为我希望它能够分割hull 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]}
    
    data\u file=open(“,“r”)
    data=data\u file.readlines()
    数据=str(数据)
    i=0
    对于数据中的i:
    相册={data.split('#','*')[0]:data.split(“:”[0]}
    
    只打印专辑和第一首歌的名字。我不明白如何做一些循环


  • 关于你的第一个问题,我建议使用“正则表达式操作模块”
    re

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

    如果您将问题编辑为包含文本文件中的一些示例行以及您希望获得的输出,这将非常有用。您可以在
    *
    处拆分,然后将
    [0]
    元素保存为唱片集名称。对
    执行另一次拆分,并将
    [0]
    元素保存为第一首歌曲的名称。另一种选择是使用正则表达式。