Похоже, @Nix пропустил вызов функции split () в предыдущем ответе.
Вот исправленный код:
>>> s = "title='bah' name='john' purple='haze' none=None i=1"
>>> d = eval("dict(%s)" % ','.join(s.split()))
>>> d
{'i': 1, 'purple': 'haze', 'none': None, 'name': 'john', 'title': 'bah'}
>>>
Вероятность отрицательного голосования возможна из-за его исходного кода:
s = "title='bah' name='john' purple='haze' none=None i=1"
d = eval("dict(%s)"% ",".join(s))
выдает следующую ошибку:
>>> s = "title='bah' name='john' purple='haze' none=None i=1"
>>> d = eval("dict(%s)"% ",".join(s))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
dict(t,i,t,l,e,=,',b,a,h,', ,n,a,m,e,=,',j,o,h,n,', ,p,u,r,p,l,e,=,',h,a,z,e,', ,n,o,n,e,=,N,o,n,e, ,i,=,1)
^
SyntaxError: invalid syntax