[Image-SIG] OverflowError: long int to large to convert to int
Bernd Prager
bernd at prager.ws
Fri Feb 10 23:28:29 CET 2006
Ok, trying to nail the issue down I changed the Python version under Linux.
Here's the program:
------ snip -------------------
import sys
import PIL.OleFileIO
filename = "outl.msg"
ole = PIL.OleFileIO.OleFileIO(filename)
for entry in ole.listdir():
print entry[1:2]
sys.exit()
------ snip -------------------
When I run this program with python2.3 I get following output:
/usr/lib/python2.3/site-packages/PIL/OleFileIO.py:46: FutureWarning: x<<y
losing bits or changing sign will return a long in Python 2.4 and up
return ord(c[o])+(ord(c[o+1])<<8)+(ord(c[o+2])<<16)+(ord(c[o+3])<<24)
[]
['__properties_version1.0']
['__substg1.0_0E270102']
['__substg1.0_0FF90102']
...
But when I run this script with python2.4 I get:
Traceback (most recent call last):
File "./test.py", line 7, in ?
ole = PIL.OleFileIO.OleFileIO(filename)
File "/usr/lib/python2.4/site-packages/PIL/OleFileIO.py", line 260, in
__init__
self.open(filename)
File "/usr/lib/python2.4/site-packages/PIL/OleFileIO.py", line 289, in open
self.loadfat(header)
File "/usr/lib/python2.4/site-packages/PIL/OleFileIO.py", line 309, in
loadfat
s = self.getsect(ix)
File "/usr/lib/python2.4/site-packages/PIL/OleFileIO.py", line 324, in
getsect
self.fp.seek(512 + self.sectorsize * sect)
IOError: [Errno 22] Invalid argument
Any clues?
Thanks for help,
-- Bernd
More information about the Image-SIG
mailing list