回答編集履歴
2
修正
answer
CHANGED
@@ -14,8 +14,9 @@
|
|
14
14
|
continue
|
15
15
|
|
16
16
|
line = line.replace('\t', ',')
|
17
|
-
newfile.
|
17
|
+
newfile.write(line)
|
18
18
|
```
|
19
19
|
|
20
20
|
- with文を使うなら、生の open/close は不要です。
|
21
|
-
- continueを使うと、『~のときはスキップ』という処理を素直に書けます。
|
21
|
+
- continueを使うと、『~のときはスキップ』という処理を素直に書けます。
|
22
|
+
- 一行だけ書き出すのなら、writelinesよりwriteの方が自然です。
|
1
追記
answer
CHANGED
@@ -2,4 +2,20 @@
|
|
2
2
|
```diff
|
3
3
|
- n.replace('\t', ',')
|
4
4
|
+ line = line.replace('\t', ',')
|
5
|
-
```
|
5
|
+
```
|
6
|
+
|
7
|
+
全体的にも、改善の余地がいくつかあります。とりあえずコード後半だけ。
|
8
|
+
```Python
|
9
|
+
with open("test2.txt", "r") as oldfile, \
|
10
|
+
open("test3.txt", "w") as newfile:
|
11
|
+
|
12
|
+
for line in oldfile:
|
13
|
+
if any(bad_word in line for bad_word in bad_words):
|
14
|
+
continue
|
15
|
+
|
16
|
+
line = line.replace('\t', ',')
|
17
|
+
newfile.writelines(line)
|
18
|
+
```
|
19
|
+
|
20
|
+
- with文を使うなら、生の open/close は不要です。
|
21
|
+
- continueを使うと、『~のときはスキップ』という処理を素直に書けます。
|