回答編集履歴

3

修正

2020/05/28 00:33

投稿

LouiS0616
LouiS0616

スコア35668

test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  どんな式でも実行してしまうevalに比べ、
18
18
 
19
- ast.literal_evalはリテラル形式の文字列しかパースしないので安全です。
19
+ ast.literal_evalはリテラル形式の文字列しかパースしないので比較的安全です。
20
20
 
21
21
  ```Python
22
22
 

2

例の統一

2020/05/28 00:33

投稿

LouiS0616
LouiS0616

スコア35668

test CHANGED
@@ -62,9 +62,9 @@
62
62
 
63
63
  >>> literal_eval(input())
64
64
 
65
- (1, 2)
65
+ (2, 3)
66
66
 
67
- (1, 2)
67
+ (2, 3)
68
68
 
69
69
  >>> literal_eval(input())
70
70
 

1

修正

2020/05/28 00:33

投稿

LouiS0616
LouiS0616

スコア35668

test CHANGED
@@ -24,9 +24,9 @@
24
24
 
25
25
  >>> eval(input())
26
26
 
27
- 2 + 3
27
+ (2, 3)
28
28
 
29
- 5
29
+ (2, 3)
30
30
 
31
31
  >>> eval(input())
32
32
 
@@ -49,3 +49,35 @@
49
49
  password: MY_SECRET_PASSWORD
50
50
 
51
51
  ```
52
+
53
+
54
+
55
+ ```Python
56
+
57
+ >>> from ast import literal_eval
58
+
59
+ >>>
60
+
61
+ >>> password = 'MY_SECRET_PASSWORD'
62
+
63
+ >>> literal_eval(input())
64
+
65
+ (1, 2)
66
+
67
+ (1, 2)
68
+
69
+ >>> literal_eval(input())
70
+
71
+ print(*('{}: {}'.format(k, v) for k, v in locals().items()), sep='\n')
72
+
73
+ Traceback (most recent call last):
74
+
75
+ File "<stdin>", line 1, in <module>
76
+
77
+ File "C:...\ast.py", line 99, in literal_eval
78
+
79
+ ...
80
+
81
+ ValueError: malformed node or string: <_ast.Call object at 0x0000018D769DCF10>
82
+
83
+ ```