回答編集履歴

3

pepperleafさんご指摘ありがとうございました。

2019/03/03 23:26

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -1,6 +1,10 @@
1
1
  - ファイルをcloseすべき
2
2
 
3
- - さらに(closeの前にに)flushしないと書き込まれる保障がない
3
+ - ~~さらに(closeの前にに)flushしないと書き込まれる保障がない~~
4
+
5
+ ↑ ドキュメントにcloseすれば同時にフラッシュされるという記述があるので、おそらくは不要です。
6
+
7
+ [io --- ストリームを扱うコアツール — Python 3.7.2 ドキュメント](https://docs.python.org/ja/3/library/io.html#io.IOBase.close)
4
8
 
5
9
 
6
10
 

2

execで十分

2019/03/03 23:26

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -38,25 +38,13 @@
38
38
 
39
39
 
40
40
 
41
- 内容についてはあまりツッコミを入れても仕方ないと思いますが、きっと組み込み関数の`compile`あたりを使うと良いのではないでしょうか。
41
+ 内容についてはあまりツッコミを入れても仕方ないと思いますが、きっと組み込み関数の`exec`あたりを使うと良いのではないでしょうか。
42
42
 
43
43
 
44
44
 
45
45
  ```python
46
46
 
47
- codeobj = compile(code, "<string>", "exec") # codeはプログラムの文字列
48
-
49
- ```
50
-
51
-
52
-
53
- とかやって
54
-
55
-
56
-
57
- ```python
58
-
59
- exec(codeobj)
47
+ exec(code, {}, {})
60
48
 
61
49
  ```
62
50
 
@@ -66,4 +54,4 @@
66
54
 
67
55
 
68
56
 
69
- [組み込み関数 — Python 3.7.2 ドキュメント](https://docs.python.org/ja/3/library/functions.html#compile)
57
+ [組み込み関数 — Python 3.7.2 ドキュメント](https://docs.python.org/ja/3/library/functions.html#exec)

1

修正

2019/03/03 02:42

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
  ```python
46
46
 
47
- codeobj = compile(code1, "<string>", "exec")
47
+ codeobj = compile(code, "<string>", "exec") # codeはプログラムの文字列
48
48
 
49
49
  ```
50
50