回答編集履歴
3
修正
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
例の統一
test
CHANGED
@@ -62,9 +62,9 @@
|
|
62
62
|
|
63
63
|
>>> literal_eval(input())
|
64
64
|
|
65
|
-
(
|
65
|
+
(2, 3)
|
66
66
|
|
67
|
-
(
|
67
|
+
(2, 3)
|
68
68
|
|
69
69
|
>>> literal_eval(input())
|
70
70
|
|
1
修正
test
CHANGED
@@ -24,9 +24,9 @@
|
|
24
24
|
|
25
25
|
>>> eval(input())
|
26
26
|
|
27
|
-
2
|
27
|
+
(2, 3)
|
28
28
|
|
29
|
-
|
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
|
+
```
|