将词分成变量

时间:2015-10-29 23:14:55

标签: python json var

我正在使用Python阅读MP3广播流,并打印出类似这样的内容

INXS~Disappear~RADIOSTATION~~MUSIC~~~360000~~~

我想将这些单词分开并将它们放在自己的表格/字段中。

上面是Artist,SongName,RadioStation,MUSIC,有些我不知道它是什么,不会改变的数字。

我发现了一些名为“分裂”的内容,但不确定这是否有效。

我也不确定歌曲或艺术家名称中的空格是否会引起任何问题。这个空间不是一个下划线或任何聪明的东西,它实际上是一个空间。

#!/usr/bin/env python
import urllib2
import datetime
import requests



stream_url = 'http://stream....'
request = urllib2.Request(stream_url)
try:
    request.add_header('Icy-MetaData', 1)
    response = urllib2.urlopen(request)
    icy_metaint_header = response.headers.get('icy-metaint')
    if icy_metaint_header is not None:
        metaint = int(icy_metaint_header)
        read_buffer = metaint+512
        content = response.read(read_buffer)
        title = content[metaint:].split("'")[1]
        print title
#       post_data = {'artist':'////', 'songname':'/////'}
#       post_response = requests.post(url='http:///////.co.uk', data=post_data)
        print datetime.datetime.now()
        import json


except:
     print 'null'
 #   print 'Error'
  #  print datetime.datetime.now()

3 个答案:

答案 0 :(得分:2)

您想要使用字符串' NSManagedObjectContext *context = [appDelegate managedObjectContext]; 方法:

split
使用python

甚至可以直接将split方法返回的列表元素分配给特定变量:

stream = "INXS~Disappear~RADIOSTATION~~MUSIC~~~360000~~~"
parts = stream.split("~")

我使用了一个简单的列表解析来摆脱列表中的空元素。

您可以使用过滤器内置函数删除空元素,而不是使用列表推导:

artist, songname, radiostation, music, number = [x for x in stream.split("~") if x]

答案 1 :(得分:1)

分割功能将为您完成此操作。有关Python文档中的字符串utils的更多信息

https://docs.python.org/2/library/stdtypes.html#str.split

 artist, song_name, radio_station, music, misc_number = string.split("~")

答案 2 :(得分:0)

import re

st = 'INXS~Disappear~RADIOSTATION~~MUSIC~~~360000~~~'

names = ('artist', 'songname', 'radiostatino', 'music', 'number')

pp(list(zip(names,re.split(r'~+',st))))

[('artist', 'INXS'),
 ('songname', 'Disappear'),
 ('radiostatino', 'RADIOSTATION'),
 ('music', 'MUSIC'),
 ('number', '360000')]