Конвертировать текст в диктовку - PullRequest
0 голосов
/ 27 октября 2011

Здравствуйте, у меня есть текст в следующем формате. Но я хочу превратить в диктовку. Я использую этот код для преобразования в dict. Но это не работает.

dict( (n,int(v)) for n,v in (a.split('=') for a in string.split() ) )

Пожалуйста, кто-нибудь поможет мне? спасибо

 name = Kurradu
 image =
 image_size =
 producer = P. Kiran
 writer =
 starring = Varun Sandesh,Neha Sharma
 music = Achu
 cinematography = Sarvesh Murari
 editing =
 distributor =
 released = 12 November 2009
 studio =
 country = IND

Ответы [ 2 ]

2 голосов
/ 27 октября 2011

Несколько часов назад вам нужен был только список, а теперь вам нужен дикт?

text = """ name = Kurradu
 image =
 image_size =
 producer = P. Kiran
 writer =
 starring = Varun Sandesh,Neha Sharma
 music = Achu
 cinematography = Sarvesh Murari
 editing =
 distributor =
 released = 12 November 2009
 studio =
 country = IND"""


d = dict(map(str.strip, line.split('=', 1)) for line in text.splitlines())


# d is now:

{'cinematography': 'Sarvesh Murari',
 'country': 'IND',
 'distributor': '',
 'editing': '',
 'image': '',
 'image_size': '',
 'music': 'Achu',
 'name': 'Kurradu',
 'producer': 'P. Kiran',
 'released': '12 November 2009',
 'starring': 'Varun Sandesh,Neha Sharma',
 'studio': '',
 'writer': ''}
1 голос
/ 27 октября 2011

Возможно, вы хотите что-то вроде этого:

dict(a.split('=') for a in string.split('\n'))

int(v) не будет работать, потому что значения в правой части = не могут быть преобразованы в int

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...