Я пытаюсь десериализовать вывод cookielib.CookieJar.__repr__()
обратно в объект CookieJar. Я сделал:Пытается вернуться назад (CookieJar)
cjs = repr(myCJ)
cj = eval(cjs)
Это дало SyntaxError: invalid syntax
. Строка cjs
длиной более 3000 символов, второе утверждение выше дал следующий фактический выход:
>>> cjx=eval(cjs)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
<cookielib.CookieJar[Cookie(version=0, name='AMAuthCookie', value=' ....
...........lots deleted....and next is the actual last line...
comment=None, comment_url=None, rest={}, rfc2109=False)]>
^
SyntaxError: invalid syntax
Я подозреваю, что символ^указывает на очень первый символ Repr строки, где первые несколько символов являются:
>>> cjs[:50]
"<cookielib.CookieJar[Cookie(version=0, name='AMAut"
Могу ли я узнать, есть ли что-то в корне неправильно с тем, что я делаю, прежде чем я исследую, если функция repr
дает проблемы.
Спасибо. С cPickle я получаю 'TypeError: не могу раскрыть объекты блокировки' –
Вместо этого вы можете попробовать протравить куки в cookiejar: http://stackoverflow.com/q/18169748/1204143 – nneonneo
Спасибо. Вот что я сделал. Приложил немного усилий, но он работает. Round trip str() сравнивает матчи отлично. –