Mercurial > cpython-lru_cache-weakref
view Lib/py_compile.py @ 4566:6403c94de50d legacy-trunk
Added safeguard against failure in __del__.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Wed, 27 Nov 1996 19:39:58 +0000 |
| parents | 1fec88b22e87 |
| children | 5cf83ad3251e |
line wrap: on
line source
# Routine to "compile" a .py file to a .pyc file. # This has intimate knowledge of how Python/import.c does it. # By Sjoerd Mullender (I forced him to write it :-). import imp MAGIC = imp.get_magic() def wr_long(f, x): f.write(chr( x & 0xff)) f.write(chr((x >> 8) & 0xff)) f.write(chr((x >> 16) & 0xff)) f.write(chr((x >> 24) & 0xff)) def compile(file, cfile = None): import os, marshal, __builtin__ f = open(file) codestring = f.read() f.close() timestamp = long(os.stat(file)[8]) codeobject = __builtin__.compile(codestring, file, 'exec') if not cfile: cfile = file + 'c' fc = open(cfile, 'wb') fc.write(MAGIC) wr_long(fc, timestamp) marshal.dump(codeobject, fc) fc.close() if os.name == 'mac': import macfs macfs.FSSpec(cfile).SetCreatorType('Pyth', 'PYC ') macfs.FSSpec(file).SetCreatorType('Pyth', 'TEXT')
