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. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor