Python以十六进制输出文本

时间:2018-04-24 22:12:13

标签: python-2.7

我正在处理一个非常大的文本文件(58GB),我试图将其分成更小的块。我遇到的问题是较小的块看起来是Hex。我的终端也将每行打印到stdout,但是当我看到它在stdout中打印时,它看起来像是正常的字符串给我。这是已知行为吗?我从来没有遇到过这样的问题,即之前Python一直在以十六进制形式散布东西。当我尝试从命令行使用Ubuntu的分割时,甚至更奇怪的是以十六进制生成所有内容。

以下代码段:

<!DOCTYPE html>
<html>
<head>
<link rel="alternate" type="application/rss+xml" href="{RSS}">
<link rel="shortcut icon" href="{Favicon}">
{block:Description}
    <meta name="description" content="{MetaDescription}">
{/block:Description}
<style>
    {CustomCSS}
</style>
</head>
<body>
{block:Posts}
    {block:Photo}
        <img src="{PhotoURL-HighRes}" alt="{PhotoAlt}">
    {/block:Photo}
{/block:Posts}
</body>
</html>

1 个答案:

答案 0 :(得分:0)

这里发生了什么:

每一行都以NUL字符开头。当我使用head或PyCharm的终端打开部分文件时,它显示正常,但当我在Sublime Text中查看我的输出时,它正在拾取该NUL字符并将结果呈现为Hex。我不得不剥离&#39; \ x00&#39;从输出的每一行开始,它开始看起来像我期望的那样