Firstly, if you're doing any sort of manipulation of this huge dataset, you'll probably want to use Numpy, which has support for a wide variety of numeric types, and efficient operations on arrays of them.
And the answer to your question,
from array import array
a = array("h") # h = signed short, H = unsigned short
As long as the value stays in that array, it will be a short integer.
PS: C++'s short not 2 bytes width. It's implementation dependent.