Такой вопрос. Здравствуйте, кстати!
В С, как известно, fread пишет в выделенную область памяти, которая передается по указателю, а возвращает число реально прочитанных байт. В Python read прямо возвращает считанные данные в виде строки (через стек!). Отсюда вопросы:
Не произойдет ли беда со стеком, если мне нужно считать слишком много данных?
Можно ли сделать свой маленький велосипедик который будет работать так, как fread в C, или это решается только на уровне builtin-ов
Кратко опишу, почему возник вопрос: надо разбить большой файл на куски и записать в несколько файлов поменьше. В существующем read надо либо считывать по маленькому кусочку (теряем в производительности) либо рискнуть считать большой кусок (он полезет в стек, и что будет дальше — зависит от текущей ситуации: может все рухнуть из-за переполнения стека, а может и нет).
Здравствуйте, Аноним, Вы писали:
А>Кратко опишу, почему возник вопрос: надо разбить большой файл на куски и записать в несколько файлов поменьше. В существующем read надо либо считывать по маленькому кусочку (теряем в производительности) либо рискнуть считать большой кусок (он полезет в стек, и что будет дальше — зависит от текущей ситуации: может все рухнуть из-за переполнения стека, а может и нет).
Что это у вас за питон такой экзотический, который строки в стек пихает? Или вы это сами придумали?
Re[2]: чтение из файла: Python vs C
От:
Аноним
Дата:
26.01.09 09:29
Оценка:
Здравствуйте, quodum, Вы писали:
Q>Что это у вас за питон такой экзотический, который строки в стек пихает? Или вы это сами придумали?
Здравствуйте, Аноним, Вы писали:
А>Кратко опишу, почему возник вопрос: надо разбить большой файл на куски и записать в несколько файлов поменьше. В существующем read надо либо считывать по маленькому кусочку (теряем в производительности) либо рискнуть считать большой кусок (он полезет в стек, и что будет дальше — зависит от текущей ситуации: может все рухнуть из-за переполнения стека, а может и нет).