2011-04-07 36 views
0

當使用IPython,osx終端和遠程登錄到ubuntu服務器時。我注意到,如果我嘗試編碼並打印os.urandom(1)的輸出,它將打破該終端,所有輸入將開始看起來像這樣:使用os.urandom後IPython mac終端奇怪字符

⎽⎽␤␌±┌▒␌␊@ ▒⎻⎻.⎻┌▒␌␊⎻┤┼␌␤.␌⎺└

即使在ipython關閉後,終端的所有輸入和輸出都會以這種方式繼續顯示。

要複製你可以嘗試:

import os 
for i in xrange(10000): 
    try: 
     print os.urandom(1).encode('utf-8') 
    except: 
     pass 

我使用了一段代碼,做類似的東西沒有用。我只是想知道爲什麼它會打破終端。

回答

4

某些字符序列會將終端發送到備用字符集模式等。運行reset來解決這個問題。

+0

例如:http://ascii-table.com/ansi-escape-sequences.php是會改變許多終端行爲的事物列表。這是另一個參考:http://en.wikipedia.org/wiki/ANSI_escape_code – 2011-04-07 19:46:36