При использовании IPython, osx-терминала и удаленного взаимодействия на сервере Ubuntu. Я заметил, что если я попытаюсь закодировать и напечатать вывод os.urandom (1), он сломает терминал, и весь ввод начнёт выглядеть так:
⎽⎽␌±┌▒␌␊@▒⎻⎻.⎻┌▒␌␊⎻┤┼␌.␌⎺└
Все входные и выходные данные с терминала продолжают отображаться таким образом даже после закрытия ipython.
Для тиражирования вы можете попробовать:
import os
for i in xrange(10000):
try:
print os.urandom(1).encode('utf-8')
except:
pass
Мне бесполезно использовать кусок кода, который делает что-то подобное. Мне просто интересно, почему это сломало бы терминал.