Форум сайта python.su
0
Как из строки:
Accept-Language = pl,en-us;q=0.7,en;q=0.3
s = dict([a.split('=', 1) for a in s])
ValueError: dictionary update sequence element #0 has length 1; 2 is required
Офлайн
4
Первое. У тебя два параметра одинаковый ключ имеют.
q=0.7,en;q=0.3
Отредактировано den4ik (Авг. 22, 2014 21:03:58)
Офлайн
0
А зачем по точке с запятой?
“pl,en-us;q=0.7,en;q=0.3” - единое значение. делить его не нужно.
Офлайн
4
Если
s = "Accept-Language = pl,en-us;q=0.7,en;q=0.3"
s = dict([a.split('=', 1) for a in s])
Отредактировано den4ik (Авг. 23, 2014 20:16:49)
Офлайн
88
Accept-Language: da, en-gb;q=0.8, en;q=0.7
Офлайн
26
In [1]: s = 'Accept-Language = pl,en-us;q=0.7,en;q=0.3' In [2]: dict(item.split(" = ") for item in s.split('\n')) Out[2]: {'Accept-Language': 'pl,en-us;q=0.7,en;q=0.3'}
Офлайн
0
s = "Accept-Language = pl"
ValueError: dictionary update sequence element #0 has length 1; 2 is required
Офлайн
0
Да
In [1]: s = 'Accept-Language = pl,en-us;q=0.7,en;q=0.3' In [2]: dict(item.split(" = ") for item in s.split('\n')) Out[2]: {'Accept-Language': 'pl,en-us;q=0.7,en;q=0.3'}
{'Accept-Language': 'pl,en-us;q=0.7,en;q=0.3\r'}
Офлайн
26
Кажется в Windows если считываем построчно файл, то он в конце прописывает \r\n
Офлайн
0
Питон у меня под linux.
Офлайн