2012-07-08 50 views
2

可能重複:
Setting smaller buffer size for sys.stdin?超過4096字節的Python stdin readline?

我有一個輸入線比4096個字節進入標準輸入在Python更長。代碼簡單地說:

line = sys.stdin.readline() 

這是截斷線在4096字節。任何人都知道解決方案

+0

這裏工作得很好(Linux/x86-64上的Python 2.7);你在哪個平臺上? – 2012-07-08 20:48:35

+0

你怎麼知道它被截斷? http://docs.python.org/release/2.6.7/library/stdtypes.html?highlight=readline#file.readline – 2012-07-08 20:49:29

+2

標準輸入流中是否可能有'\ n'? – dawg 2012-07-08 20:51:51

回答

-3
line = sys.stdin.readline()[1*1024*1024] 

這適用於我,當我必須閱讀文件(幾MB)。

+1

我對此表示懷疑。這會給你單個字節1048576字節到文件的第一行。 – geoffspear 2012-07-08 21:15:20

+0

@Wooble這顯然只有在'readline'返回大小至少爲1mb + 1的緩衝區時纔有效。 – Voo 2012-07-08 21:54:53

+0

@Voo:這不是我的閱讀,儘管在任何情況下,這會使這更多的「我的輸入不會被截斷爲4096字節」*註釋*,而不是OP的問題的答案。 – geoffspear 2012-07-08 23:17:06