#python #django
#python #django
Вопрос:
Итак, у меня был двоичный файл, подобный следующему b"My name is ...n blah blah"
, затем я использовал I used str()
для него, что привело к "b'My name is ...\n blah blah'"
тому, как я могу отменить это и снова получить переменную с байтовым литералом?
Ответ №1:
Вы можете использовать ast.literal_eval
:
>>> from ast import literal_eval
>>> s = literal_eval("b'My name is ...\n blah blah'")
>>> s
b'My name is ...n blah blah'
Комментарии:
1.Для ясности: хотя это работает, это не очень быстро, и если у вас есть код, который преобразуется в и из
bytes
repr
s по замыслу (это не просто какой-то способ восстановления данных, которые вы случайно преобразовали неправильно), у вас почти наверняка проблема с XY. Производственный код не должен полагаться на это преобразование.