Насколько большой может быть переменная в Python? - PullRequest
0 голосов
/ 11 июля 2010

Я получаю ответ в программе Python с сервера SQL.Насколько большим может быть этот ответ?Какой максимум?Coult это будет целых 100 мб?

Ответы [ 2 ]

5 голосов
/ 11 июля 2010

См. sys.maxsize: http://docs.python.org/library/sys.html

Наибольшее положительное целое число, поддерживаемое типом платформы Py_ssize_t, и, следовательно, списки максимального размера, строки, символы и многие другие контейнеры могут иметь.1006 *

На моем MacBook Pro с 64-битной сборкой CPython это весьма разумно 2 63 -1 байт:

>>> import sys
>>> sys.maxsize
9223372036854775807
>>> 

В то время как на моем 32-бит Linux, это 2 ^ 31 -1:

>>> import sys
>>> sys.maxsize
2147483647
>>> 

На практике, конечно, вы вряд ли сможете на самом деле использоватьобъекты такого размера, но вы можете столкнуться с серьезными практическими проблемами (например, из-за нехватки памяти или безвозвратной загрузки / сохранения объектов из хранилища), прежде чем достигнете теоретических пределов.

4 голосов
/ 11 июля 2010

Нет причин, по которым вы не можете хранить 100 МБ данных в Python, если позволяет системная память. Но вы должны попытаться использовать итератор, а не читать весь набор результатов в список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...