1

我偶然发现了我只能描述为 Python 交互式解释器中的一个错误。虽然这个 bug 无关紧要,但我觉得这是一个有趣的问题,也是学习有关 python、低级计算和调试的好机会。

问题出现在这里:

pic = open("blurry.jpg", "rb")
data = pic.read()
for byte in data:
    print byte

这导致...

#prints the entire file byte by byte_
?

0
?
?
>>> 1;2c

现在完成此操作后,我发现 [ ] { } \ @ ^ 已分别替换为 Ä、Å、ä、å、ö、É、'Ü'。有趣的是,它们仍然保持功能。例如,list = Ä1,2,3,4Å不会引发任何错误。此外,可能更有趣......即使在我退出解释器并回到 bash 之后,这种行为仍在继续。

此外,我只能在使用我在此处托管的特定图像时重新创建此行为:http: //imgur.com/lTo6m

我不知道从哪里开始分析这样的问题,所以我希望这里有人可以提供一些见解。

一如既往的感谢!

4

1 回答 1

7

这不是 Python 的错误,这是您的终端切换到备用字符集。在 shell 提示符下运行reset以解决此问题。

于 2011-04-24T04:36:49.767 回答