Python 2.7将编码的文本文件读取为代码而不是文本。 (与io模块固定)

时间:2018-06-27 22:03:17

标签: python text python-unicode notepad

我有一个文本文件(* .txt),在记事本中打开时显示为纯文本。当我尝试将文件读入python时:

with open(Working_File,'r') as WorkTXT:
    WorkTXT_Lines = WorkTXT.readlines()
    WorkTXT.close()

然后我的脚本失败,因为文本正在被转换为其他内容。我可以使用控制台手动测试列表中的内容:

In[51]: WorkTXT_Lines[4]
Out[51]: "\x00T\x00h\x00e\x00 \x00A\x00c\x00q\x00.\x00 \x00M\x00e\x00t\x00h\x00o\x00d\x00'\x00s\x00 \x00I\x00n\x00s\x00t\x00r\x00u\x00m\x00e\x00n\x00t\x00 \x00P\x00a\x00r\x00a\x00m\x00e\x00t\x00e\x00r\x00s\x00 \x00f\x00o\x00r\x00 \x00t\x00h\x00e\x00 \x00R\x00u\x00n\x00 \x00w\x00e\x00r\x00e\x00 \x00:\x00 \x00\r\x00\n"

如果我打开原始文本文件,然后将文本复制粘贴到新的文本文件中,然后运行它,似乎可以提取实际文本并且脚本可以正常工作。但这无济于事,因为我正在分析从实验室仪器生成的数百个文本文件。

我们将不胜感激,甚至可以通过OS命令更改文本文件。

编辑-按照正确的方向进行操作后能够解决此问题。 The io module能够解码文本文件并“读取为文本(rt)”

import io
with io.open(Working_File,'rt') as WorkTXT:
    WorkTXT_Lines = WorkTXT.readlines()
    WorkTXT.close()

1 个答案:

答案 0 :(得分:1)

页面内容已编码,我用Google搜索了您的输出,并说它是utf-16 如果您在读取文件后对其进行解码,则所有内容都将变成纯文本

TextArea comment;
    if (Display.getInstance().isTablet()) {
        comment = new TextArea(8, 450);
    } else {
        comment = new TextArea(5, 250);
    }
    comment.setHint("Enter Comments/ Feedback");
    comment.setGrowByContent(false);