I have data stored in a variable:
proc = subprocess.Popen(cmd_rancli, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
proc_stdout = proc.communicate(ran_opt_get_access_data)[0]
print proc_stdout
which is for the most part repeating, the nnumber iterations can vary. Now all this data isn't very intuitive but I know what each number stands for, eg FREQ OFFSET = Value(int): 9 and so on.
My variable holds this (and a lot more repeating in the same fashion
Request successful
Protocol: BSMIS Rx
MessageType: 81 (GetAttributesResponse)
ObjectInstance:
RDN:
ClassId: 1014 (AP)
InstanceId: 0
TransactionId: 66
AttributeList:
AttributeId: 4192
Sequence:
Sequence:
Value(int): 1
Value(string): 2013-02-26T15:01:11Z
Sequence:
Sequence:
Value(int): 10564
Value(int): 13
Value(int): 388
Value(int): 0
Value(int): -321
Value(int): 83
Value(string): 272
Value(string): 05
Value(int): 67
Value(int): 67
Value(int): 708
Value(int): 896
Value(int): 31
Value(int): 128
Value(int): -12
Value(int): -109
Value(int): 0
Value(int): -20
Value(int): -111
Value(int): -1
Value(int): -1
Value(int): 0
Sequence:
Value(int): 10564
Value(int): 13
Value(int): 108
Value(int): 0
Value(int): -11
Value(int): 83
Value(string): 272
Value(string): 05
Value(int): 67
Value(int): 67
Value(int): 708
Value(int): 1796
Value(int): 31
Value(int): 128
Value(int): -12
Value(int): -109
Value(int): 0
Value(int): -20
Value(int): -111
Value(int): -1
Value(int): -1
Value(int): 0
Sequence:
Value(int): 10589
Value(int): 16
Value(int): 388
Value(int): 0
Value(int): -15
Value(int): 79
Value(string): 272
Value(string): 05
Value(int): 67
Value(int): 67
Value(int): 708
Value(int): 8680
Value(int): 31
Value(int): 125
Value(int): -16
Value(int): -110
Value(int): 0
Value(int): -20
Value(int): -111
Value(int): -1
Value(int): -1
Value(int): 0
Sequence:
Value(int): 10589
Value(int): 15
Value(int): 108
Value(int): 0
Value(int): -16
Value(int): 81
Value(string): 272
Value(string): 05
Value(int): 67
Value(int): 67
Value(int): 708
Value(int): 8105
Value(int): 31
Value(int): 126
Value(int): -14
Value(int): -109
Value(int): 0
Value(int): -20
Value(int): -111
Value(int): -1
Value(int): -1
Value(int): 0
Sequence:
Value(int): 10637
Value(int): 40
Value(int): 233
Value(int): 0
Value(int): -11
Value(int): 89
Value(string): 272
Value(string): 03
Value(int): 30052
Value(int): 1
Value(int): 5
Value(int): 54013
Value(int): 33
Value(int): 103
Value(int): -6
Value(int): -76
Value(int): 1
Value(int): -20
Value(int): -111
Value(int): -1
Value(int): -1
Value(int): 0
Sequence:
Value(int): 10662
Value(int): 46
Value(int): 234
Value(int): 0
Value(int): -15
Value(int): 85
Value(string): 272
Value(string): 03
Value(int): 30052
Value(int): 1
Value(int): 5
Value(int): 54016
Value(int): 33
Value(int): 97
Value(int): -10
Value(int): -74
Value(int): 1
Value(int): -20
Value(int): -111
Value(int): -1
Value(int): -1
Value(int): 0
Sequence:
Value(int): 10712
Value(int): 51
Value(int): 12
Value(int): 0
Value(int): -24
Value(int): 91
Value(string): 272
Value(string): 01
Value(int): 4013
Value(int): 254
Value(int): 200
Value(int): 2973
Value(int): 3
Value(int): 62
Value(int): -4
Value(int): -63
Value(int): 0
Value(int): -20
Value(int): -111
Value(int): -1
Value(int): -1
Value(int): 0
Sequence:
Value(int): 10737
Value(int): 15
Value(int): 224
Value(int): 0
Value(int): -16
Value(int): 82
Value(string): 272
Value(string): 01
Value(int): 3020
Value(int): 21
Value(int): 21
Value(int): 40770
Value(int): 33
Value(int): 128
Value(int): -13
Value(int): -108
Value(int): 0
Value(int): -20
Value(int): -111
Value(int): -1
Value(int): -1
Value(int): 0
Sequence:
Value(int): 10762
Value(int): 14
Value(int): 450
Value(int): 0
Value(int): -7
Value(int): 78
Value(string): 272
Value(string): 01
Value(int): 3020
Value(int): 21
Value(int): 21
Value(int): 53215
Value(int): 29
Value(int): 125
Value(int): -17
Value(int): -113
Value(int): 0
Value(int): -20
Value(int): -111
Value(int): -1
Value(int): -1
Value(int): 0
Sequence:
Value(int): 10762
Value(int): 15
Value(int): 224
Value(int): 0
Value(int): -7
Value(int): 85
Value(string): 272
Value(string): 01
Value(int): 3020
Value(int): 21
Value(int): 21
Value(int): 50770
Value(int): 33
Value(int): 128
Value(int): -10
Value(int): -105
Value(int): 0
Value(int): -20
Value(int): -111
Value(int): -1
Value(int): -1
Value(int): 0
Sequence:
Value(int): 10762
Value(int): 14
Value(int): 124
Value(int): 0
Value(int): -7
Value(int): 78
Value(string): 272
Value(string): 01
Value(int): 3020
Value(int): 10
Value(int): 10
Value(int): 56880
Value(int): 32
Value(int): 128
Value(int): -17
Value(int): -113
Value(int): 0
Value(int): -20
Value(int): -111
Value(int): -1
Value(int): -1
Value(int): 0
Sequence:
Value(int): 10812
Value(int): 11
Value(int): 135
Value(int): 0
Value(int): -14
Value(int): 81
Value(string): 272
Value(string): 02
Value(int): 36002
Value(int): 1
Value(int): 11
Value(int): 43159
Value(int): 31
Value(int): 130
Value(int): -14
Value(int): -113
Value(int): 1
Value(int): -20
Value(int): -111
Value(int): -1
Value(int): -1
Value(int): 0
Sequence:
Value(int): 10837
Value(int): 42
Value(int): 23
Value(int): 0
Value(int): -9
Value(int): 89
Value(string): 272
Value(string): 02
Value(int): 36002
Value(int): 1
Value(int): 11
Value(int): 53529
Value(int): 31
Value(int): 99
Value(int): -6
Value(int): -74
Value(int): 1
Value(int): -20
Value(int): -111
Value(int): -1
Value(int): -1
Value(int): 0
Value(int): 54
Sequence:
Value(int): 13
Value(string): 2013-02-26T15:02:09Z
Sequence:
Sequence:
Value(int): 2
Value(int): 12
Value(int): 7
Value(int): 0
Value(int): 9
Value(int): 70
Value(string): 272
Value(string): 02
Value(int): 20003
Value(int): 0
Value(int): 0
Value(int): 15535
Value(int): 0
Value(int): 0
Value(int): 0
Value(int): 0
Value(int): 1
Value(int): 100
Value(int): 100
Value(int): -1
Value(int): -1
Value(int): 0
Sequence:
Value(int): 5
Value(int): 15
Value(int): 44
Value(int): 0
Value(int): -205
Value(int): 77
Value(string): 272
Value(string): 02
Value(int): 20003
Value(int): 0
Value(int): 0
Value(int): 15632
Value(int): 0
Value(int): 0
Value(int): 0
Value(int): 0
Value(int): 1
Value(int): 100
Value(int): 100
Value(int): -1
Value(int): -1
Value(int): 0
Sequence:
Value(int): 7
Value(int): 25
Value(int): 9
Value(int): 0
Value(int): 0
Value(int): 84
Value(string): 272
Value(string): 02
Value(int): 20002
Value(int): 0
Value(int): 0
Value(int): 50883
Value(int): 0
Value(int): 0
Value(int): 0
Value(int): 0
Value(int): 1
Value(int): 100
Value(int): 100
Value(int): -1
Value(int): -1
Value(int): 0
//etc
However something like this this occurs every now and again, not in every iteration:
Value(int): 13
Value(string): 2013-04-03T08:23:26Z
Sequence:
Sequence:
So these repeat-ish, what would be an easy way to parse this data so that I could look at say the first element of each repeating series and so on to compare them? Can I make a struct? Do I need a dictionary, or how do I do this? If i made a dictionary, If the line is "Value(int): 10" I can just do int(line.split(":")[1])) and stick that in at the index. I assume I would need to split up each iteration into its own variable and assign each a dictionary of their own or something? I wouldn't know how many dictionaries there was and so on, and it doesn't seem much easier to compare data.
Anyway, how would you do it?