Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我在带有字节文字的字符串上使用了str(),如何反转该操作?_Python_Django - Fatal编程技术网

Python 我在带有字节文字的字符串上使用了str(),如何反转该操作?

Python 我在带有字节文字的字符串上使用了str(),如何反转该操作?,python,django,Python,Django,因此,我使用了如下的二进制文件“我的名字是…\n blah blah”然后我在上面使用了str(),这导致了“我的名字是…\\n blah blah'”我如何撤销它并再次获得一个带有字节文字的变量?您可以使用ast.literal\u eval: >>> from ast import literal_eval >>> s = literal_eval("b'My name is ...\\n blah blah'") >>&g

因此,我使用了如下的二进制文件“我的名字是…\n blah blah”然后我在上面使用了
str()
,这导致了
“我的名字是…\\n blah blah'”
我如何撤销它并再次获得一个带有字节文字的变量?

您可以使用
ast.literal\u eval

>>> from ast import literal_eval
>>> s = literal_eval("b'My name is ...\\n blah blah'")
>>> s
b'My name is ...\n blah blah'

需要明确的是:虽然这是可行的,但它并不是超快速的,如果你的代码设计成可以在
字节
repr
s之间进行转换(这不仅仅是恢复意外转换错误的数据的方法),那么你几乎肯定有。生产代码不应依赖于此转换。