You can use str.split() but then you could just use str.partition(),
here are the help texts:
For partition:
partition(...)
S.partition(sep) -> (head, sep, tail)
Search for the separator sep in S, and return the part before it,
the separator itself, and the part after it. If the separator is not
found, return S and two empty strings.
For split:
split(...)
S.split([sep [,maxsplit]]) -> list of strings
Return a list of the words in the string S, using sep as the
delimiter string. If maxsplit is given, at most maxsplit
splits are done. If sep is not specified or is None, any
whitespace string is a separator and empty strings are removed
from the result.
I would recommend going with the easy interface:
>>> line = "Images : 50"
>>> key, sep, value = line.partition(" : ")
>>> key, sep, value
('Images', ' : ', '50')
you could use something along the lines:
result = {}
for line in data:
# this assumes : is always surrounded by spaces.
key, sep, value = line.partition(" : ")
# seems like value is a number...
result[key] = int(value)