валится тут To: 192.168.0.7:16429 потому как split(':') дает список из трех эл. а для создания словаря в том виде который описан выше требуются два (написан был исходя из преведенных выше даных)
a = '''Event: RTCPSent
Privilege: reporting,all
To: 192.168.0.7:16429
OurSSRC: 722615561
SentNTP: 1319652944.0257110016
SentRTP: 110384776
SentPackets: 28241
SentOctets: 4518560
ReportBlock:
FractionLost: 0
CumulativeLoss: 0
IAJitter: 0.0001
TheirLastSR: 0
DLSR: 65517.7580 (sec)'''
def correct(i):
res = i.split(':')
if len(res) >2:
return res[0],":".join(res[1:])
return res
dct = dict([correct(i) for i in a.split('\n')])
print(dct)
{'Event': ‘ RTCPSent’, ‘Privilege’: ‘ reporting,all’, ‘To’: ‘ 192.168.0.7:16429’, ‘OurSSRC’: ‘ 722615561’, ‘SentNTP’: ‘ 1319652944.0257110016’, ‘SentRTP’: ‘ 110384776’, ‘SentPackets’: ‘ 28241’, ‘SentOctets’: ‘ 4518560’, ‘ReportBlock’: ‘', ’FractionLost': ‘ 0’, ‘CumulativeLoss’: ‘ 0’, ‘IAJitter’: ‘ 0.0001’, ‘TheirLastSR’: ‘ 0’, ‘DLSR’: ‘ 65517.7580 (sec)’}