summaryrefslogtreecommitdiffstats
path: root/Lib/py_compile.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2007-05-22 01:29:33 (GMT)
committerGuido van Rossum <guido@python.org>2007-05-22 01:29:33 (GMT)
commitd6ca5460914926e54c2a063728a6c785ced8a702 (patch)
tree2d56c7e93b4cc7b37233d6fd33b5b035d8445945 /Lib/py_compile.py
parent94ca1c620ebc63b0860579835f2c16fe056e1225 (diff)
downloadcpython-d6ca5460914926e54c2a063728a6c785ced8a702.zip
cpython-d6ca5460914926e54c2a063728a6c785ced8a702.tar.gz
cpython-d6ca5460914926e54c2a063728a6c785ced8a702.tar.bz2
Make test_zipfile pass.
The zipfile module now does all I/O in binary mode using bytes. (Maybe we should support wrapping a TextIOWrapper around it when text mode reading is requested?) Even the password is a bytes array now. Had to fix py_compile.py to use bytes while I was at it. The _struct needed a patch to support bytes, str8 and str for the 's' and 'p' formats.
Diffstat (limited to 'Lib/py_compile.py')
-rw-r--r--Lib/py_compile.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/Lib/py_compile.py b/Lib/py_compile.py
index 8f44982..bf01296 100644
--- a/Lib/py_compile.py
+++ b/Lib/py_compile.py
@@ -72,10 +72,10 @@ else:
def wr_long(f, x):
"""Internal; write a 32-bit int to a file in little-endian order."""
- f.write(chr( x & 0xff))
- f.write(chr((x >> 8) & 0xff))
- f.write(chr((x >> 16) & 0xff))
- f.write(chr((x >> 24) & 0xff))
+ f.write(bytes([x & 0xff,
+ (x >> 8) & 0xff,
+ (x >> 16) & 0xff,
+ (x >> 24) & 0xff]))
def compile(file, cfile=None, dfile=None, doraise=False):
"""Byte-compile one Python source file to Python bytecode.
@@ -133,7 +133,7 @@ def compile(file, cfile=None, dfile=None, doraise=False):
if cfile is None:
cfile = file + (__debug__ and 'c' or 'o')
fc = open(cfile, 'wb')
- fc.write('\0\0\0\0')
+ fc.write(b'\0\0\0\0')
wr_long(fc, timestamp)
marshal.dump(codeobject, fc)
fc.flush()