diff options
author | Benjamin Peterson <benjamin@python.org> | 2010-07-11 23:06:06 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2010-07-11 23:06:06 (GMT) |
commit | 5ef96e5fac6f784d3c9336ed0215397e934bff4f (patch) | |
tree | 2eebbec9a29bf21f1ea6e066b6b068a4083ad44c | |
parent | c762242ccad80957e432bbc9563549b7508b0f92 (diff) | |
download | cpython-5ef96e5fac6f784d3c9336ed0215397e934bff4f.zip cpython-5ef96e5fac6f784d3c9336ed0215397e934bff4f.tar.gz cpython-5ef96e5fac6f784d3c9336ed0215397e934bff4f.tar.bz2 |
allow byte literals
-rw-r--r-- | Lib/ast.py | 2 | ||||
-rw-r--r-- | Lib/test/test_ast.py | 1 | ||||
-rw-r--r-- | Misc/NEWS | 2 |
3 files changed, 4 insertions, 1 deletions
@@ -50,7 +50,7 @@ def literal_eval(node_or_string): if isinstance(node_or_string, Expression): node_or_string = node_or_string.body def _convert(node): - if isinstance(node, Str): + if isinstance(node, (Str, Bytes)): return node.s elif isinstance(node, Num): return node.n diff --git a/Lib/test/test_ast.py b/Lib/test/test_ast.py index e050784..f00a415 100644 --- a/Lib/test/test_ast.py +++ b/Lib/test/test_ast.py @@ -286,6 +286,7 @@ class ASTHelpers_Test(unittest.TestCase): self.assertEqual(ast.literal_eval('{"foo": 42}'), {"foo": 42}) self.assertEqual(ast.literal_eval('(True, False, None)'), (True, False, None)) self.assertEqual(ast.literal_eval('{1, 2, 3}'), {1, 2, 3}) + self.assertEqual(ast.literal_eval('b"hi"'), b"hi") self.assertRaises(ValueError, ast.literal_eval, 'foo()') def test_literal_eval_issue4907(self): @@ -473,6 +473,8 @@ C-API Library ------- +- ``ast.literal_eval()`` now allows byte literals. + - Issue #9137: Fix issue in MutableMapping.update, which incorrectly treated keyword arguments called 'self' or 'other' specially. |