如何从文本文件

时间:2018-06-17 10:46:33

标签: python python-3.x

我有一个txt文件。此文件的内容是字节类型,如此

b'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r\n<html xmlns="http://www.w3.org/1999/xhtml">\r\n<head>\r\n<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />\r\n<!--<META http-equiv=Page-Enter content=blendTrans(Duration=0.5)>\r\n<META http-equiv=Page-Exit content=blendTrans(Duration=0.5)> -->\r\n<title>\xba...'

如何将其翻译成

value = b'...'  # txt file content

1 个答案:

答案 0 :(得分:1)

您可以使用ast.literal_eval()来评估字面值:

bytesobject = ast.literal_eval(filecontents)

演示:

>>> import ast
>>> foo = "b'bytes value as a literal'"
>>> type(foo)
<class 'str'>
>>> ast.literal_eval(foo)
b'bytes value as a literal'
>>> type(ast.literal_eval(foo))
<class 'bytes'>

但是,如果您只是修复错误的来源会更好,这是首先创建该文件的代码。据推测,该代码在字节值上使用str()将数据写入文本文件,而应该以二进制模式打开文件。