aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Tools/scripts/generate_opcode_h.py
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2016-11-25 11:59:52 +0100
committerVictor Stinner <victor.stinner@gmail.com>2016-11-25 11:59:52 +0100
commit6193ecd77907dafa83235dd1386354613ecafcdf (patch)
treee6a09691ac88d2831e3bea5b794f24ef33209ce8 /Tools/scripts/generate_opcode_h.py
parent1018fad6a4df3d7fcb0ec715867069044428a759 (diff)
downloadcpython-6193ecd77907dafa83235dd1386354613ecafcdf.tar.gz
cpython-6193ecd77907dafa83235dd1386354613ecafcdf.zip
Fix a ResourceWarning in generate_opcode_h.py
Use a context manager to close the Python file. Replace also open() with tokenize.open() to handle coding cookie if any in Lib/opcode.py.
Diffstat (limited to 'Tools/scripts/generate_opcode_h.py')
-rw-r--r--Tools/scripts/generate_opcode_h.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/Tools/scripts/generate_opcode_h.py b/Tools/scripts/generate_opcode_h.py
index 948b56f9007..bbc3aab5535 100644
--- a/Tools/scripts/generate_opcode_h.py
+++ b/Tools/scripts/generate_opcode_h.py
@@ -32,10 +32,14 @@ enum cmp_op {PyCmp_LT=Py_LT, PyCmp_LE=Py_LE, PyCmp_EQ=Py_EQ, PyCmp_NE=Py_NE,
#endif /* !Py_OPCODE_H */
"""
+import tokenize
+
def main(opcode_py, outfile='Include/opcode.h'):
opcode = {}
- exec(open(opcode_py).read(), opcode)
+ with tokenize.open(opcode_py) as fp:
+ code = fp.read()
+ exec(code, opcode)
opmap = opcode['opmap']
with open(outfile, 'w') as fobj:
fobj.write(header)