[Tutor] Version of a .pyc file
Don Taylor
nospamformeSVP at gmail.com
Thu Apr 20 03:48:13 CEST 2006
Terry Carroll wrote:
>>How can I tell if a .pyc file was built with 2.3 or 2.4?
>
>
> There's a "Magic Number" in the first 2 or 4 bytes, (depending on whether
> you consider the \r\n part of the MN).
>
>
>>>>f = open("pycfile.pyc", "rb")
>>>>magictable = {'\x3b\xf2\r\n': "2.3", '\x6d\xf2\r\n' : "2.4"}
>>>>magic = f.read(4)
>>>>release = magictable.get(magic,"unknown")
>>>>print "Python release:", release
>
> Python release: 2.4
>
I have used Terry's code to write a script to find all of the the .pyc
files on my system that were compiled with the 2.3 version of the
compiler, and I have removed these files.
But my underlying problem still occurs: somewhere somebody is calling
for the 2.3 version of the Python vm .dll and not finding it. This is
happening under Pydev/Eclipse and my only recourse is to blow Eclipse
away using Task Manager.
So maybe I have a .pyd file somewhere that is a 2.3 extension.
Is there a way to examine .pyd files to see if they were built for
Python 2.3?
Finally, are there any other possible file extension types that I should
be looking at?
Thanks,
Don.
More information about the Tutor
mailing list