У меня есть строка, содержащая мои данные вроде этого:

result = "[
           {'service': {'option1': 'abc', 'others': 'blah blah'}},
           {'service': {'option2': 'None', 'others': 'None'}}
          ]\n
          [
           {'rules': {'permissions': 'allow', 'opp': 'evening', 'order': '10', 'self': 'me'}},
            {'rules': {'permissions': 'not allowed', 'opp': 'None\\n', 'order': 'None', 'self': 'None'}}
          ]"

Я хочу преобразовать его в правильный список, например:

result = [[
          {'service': {'option1': 'abc', 'others': 'blah blah'}},
          {'service': {'option2': 'None', 'others': 'None'}}
         ],
         [
          {'rules': {'permissions': 'allow', 'opp': 'evening', 'order': '10', 'self': 'me'}},
          {'rules': {'permissions': 'not allowed', 'opp': 'None\\n', 'order': 'None', 'self': 'None'}}
         ]]

Пожалуйста, помогите мне! Я пробовал .split(), .join(), но не смог получить точный формат, как указано выше.

2
MHS 20 Дек 2013 в 14:51

1 ответ

Лучший ответ

Вы можете использовать ast, (абстрактные синтаксические деревья) с второстепенным модификация струны,

import ast
ast.literal_eval( '[{}]'.format( result.replace( ']\n', '],' ) ) )
4
behzad.nouri 20 Дек 2013 в 14:56