GeraJet
@GeraJet
Anykey

Как на Python десериализовать строку?

Нужно на Python десериализовать строку вида
a:16:{i:0;s:1:"1";i:1;s:1:"2";i:2;s:1:"3";i:3;s:1:"4";i:4;s:1:"5";i:5;s:1:"6";i:6;s:1:"8";i:7;s:1:"9";i:8;s:2:"11";i:9;s:2:"12";i:10;s:2:"13";i:11;s:2:"14";i:12;s:2:"15";i:13;s:2:"16";i:14;s:2:"17";i:15;s:2:"18";}

В PHP есть функция unserialize($str)
Для Python нашел pypi.python.org/pypi/phpserialize, но не совсем понимаю, как разобрать полученный массив.
from phpserialize import serialize, unserialize

@widgets.position('user_menu', order=1)
def user_menu():
    ... ... ...
    rights = unserialize(perms)
    return dict(rights=rights)


{% for r in rights %}
    <li>
        {{r}}
    </li>
{% endfor %}
  • Вопрос задан
  • 2769 просмотров
Решения вопроса 1
crazyzubr
@crazyzubr
Python backend-developer
<ul>
{% for key, value in rights.items %} 
  <li>{{key}} - {{value}}</li>
 {% endfor %}
</ul>


Скорее всего порядок вывода будет всегда разный.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы