import os
s = os.sys.stdin.buffer.read(1024*32)
неудачу спитон os.sys.stdin.buffer.read не удалось, если заданную длину буфера
D:\Projects\pytools>python t1.py
Traceback (most recent call last):
File "t1.py", line 2, in <module>
s = os.sys.stdin.buffer.read(1024*32)
OSError: [Errno 12] Not enough space
BUF если дано buflen = 1024 * 32-1, то он идет прямо
import os
s = os.sys.stdin.buffer.read(1024*32-1)
, если вы запустите python t1.py, тогда процесс заблокирован и ожидает ввода как ожидается. Почему у python3.3 есть ограничение длины буфера 1024 * 32-1? Является ли система другой, или же она одинаковой для всех систем? Как мы можем устранить это ограничение?
КСТАТИ: я с помощью окна 7 питона 32-битной версии 3,3
Не вижу ошибок на Linux 64bit до тех пор, пока я не увеличу его до 1024 * 3 * 6', после чего я получу 'MemoryError'. –
Та же проблема на моем Win7 + Python3.3.0-32bit. Но если я запустил скрипт в Cygwin Python 2.7.3, он работает отлично. Обновление до 3.3.1 не помогает. – Alexey
Я пробовал 32-разрядные Python 3.3.0, 3.3.1, 2.7.4 и 64-разрядные 3.31, но все они имеют ту же проблему. Это, по-видимому, проблема с Windows-портами. Вы можете попробовать задать этот вопрос в списке рассылки Python. – Alexey