Python の対話型インタープリターのバグとしか言いようのないものに出くわしました。バグは取るに足らないものですが、興味深い問題であり、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
このような問題の分析をどこから始めるかについての手がかりが得られなかったので、ここの誰かが洞察を提供してくれることを期待していました.
いつもありがとう!