質問編集履歴
4
細かい説明不備を修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -69,6 +69,6 @@
|
|
69
69
|
## 修正1後
|
70
70
|
ありがとうございます。具体例だと、通りました!(out.txtにhoge、hogehogeの行が出力された。)
|
71
71
|
|
72
|
-
実際に使いたい場面で、まだ
|
72
|
+
実際に使いたい場面で、まだヒットしません。
|
73
73
|
(192.168.xxx.xxx/32のようなプライベートアドレスをキーワードにして、ヒットする行のその他の情報が欲しい)
|
74
74
|
文字コードとかpythonがutf-8で、kwlist.txtやチェックしたいファイルはshift-jisなので、その辺りかな、と思い当たる点が出てきました。
|
3
指摘を受け修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -17,13 +17,15 @@
|
|
17
17
|
def main():
|
18
18
|
filelist = glob.glob(CHECK_FILES_PATH)
|
19
19
|
for FILE in filelist:
|
20
|
-
# with open(OUT_FILE, 'w') as write_file:
|
20
|
+
# with open(OUT_FILE, 'w') as write_file:
|
21
|
+
# 修正1openのモードを'w'ではループの度上書きされるのでaに修正
|
21
22
|
with open(OUT_FILE, "a") as write_file:
|
22
23
|
with open(KWLIST_FILE, 'r') as list_file:
|
23
24
|
with open(FILE, 'r') as check_file:
|
24
25
|
for keyword in list_file:
|
25
26
|
for line in check_file:
|
26
|
-
# if line in keyword:
|
27
|
+
# if line in keyword:
|
28
|
+
# 修正1 keyword in lineの間違えのため修正
|
27
29
|
if keyword in line:
|
28
30
|
write_file.write(line)
|
29
31
|
check_file.seek(0,0)
|
@@ -62,4 +64,11 @@
|
|
62
64
|
|
63
65
|
スクリプト最終行付近の`if line in keyword:` の挙動がよく分かりません。
|
64
66
|
`keyword`, `line`は任意のものが取得できていると思います。
|
65
|
-
`line in keyword` を出力すると`false`を返しますが、かといって`if line in keyword == False:`と記述しても、任意の結果が得られません(全く出力されない)。
|
67
|
+
`line in keyword` を出力すると`false`を返しますが、かといって`if line in keyword == False:`と記述しても、任意の結果が得られません(全く出力されない)。
|
68
|
+
|
69
|
+
## 修正1後
|
70
|
+
ありがとうございます。具体例だと、通りました!(out.txtにhoge、hogehogeの行が出力された。)
|
71
|
+
|
72
|
+
実際に使いたい場面で、まだ出力されません。
|
73
|
+
(192.168.xxx.xxx/32のようなプライベートアドレスをキーワードにして、ヒットする行のその他の情報が欲しい)
|
74
|
+
文字コードとかpythonがutf-8で、kwlist.txtやチェックしたいファイルはshift-jisなので、その辺りかな、と思い当たる点が出てきました。
|
2
指摘事項を修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -17,12 +17,14 @@
|
|
17
17
|
def main():
|
18
18
|
filelist = glob.glob(CHECK_FILES_PATH)
|
19
19
|
for FILE in filelist:
|
20
|
+
# with open(OUT_FILE, 'w') as write_file: ご指摘を受け修正
|
20
|
-
with open(OUT_FILE,
|
21
|
+
with open(OUT_FILE, "a") as write_file:
|
21
22
|
with open(KWLIST_FILE, 'r') as list_file:
|
22
23
|
with open(FILE, 'r') as check_file:
|
23
24
|
for keyword in list_file:
|
24
25
|
for line in check_file:
|
25
|
-
if line in keyword:
|
26
|
+
# if line in keyword: ご指摘を受け修正
|
27
|
+
if keyword in line:
|
26
28
|
write_file.write(line)
|
27
29
|
check_file.seek(0,0)
|
28
30
|
|
1
具体例を追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -21,15 +21,43 @@
|
|
21
21
|
with open(KWLIST_FILE, 'r') as list_file:
|
22
22
|
with open(FILE, 'r') as check_file:
|
23
23
|
for keyword in list_file:
|
24
|
-
write_file.write(keyword)
|
25
24
|
for line in check_file:
|
26
25
|
if line in keyword:
|
27
26
|
write_file.write(line)
|
28
27
|
check_file.seek(0,0)
|
29
28
|
|
29
|
+
boolean = OUT_FILE in glob.glob("*")
|
30
|
+
if boolean == True:
|
31
|
+
os.remove(OUT_FILE)
|
32
|
+
main()
|
30
33
|
```
|
31
34
|
|
35
|
+
## 具体例
|
36
|
+
checkKeywordディレクトリにhoge.txtがあります。
|
37
|
+
```
|
38
|
+
hoge
|
39
|
+
hogehoge
|
40
|
+
fuga
|
41
|
+
fugafuga
|
42
|
+
piyo
|
43
|
+
piyopiyo
|
44
|
+
```
|
45
|
+
|
46
|
+
kwlist.txtの内容は以下の通りです
|
47
|
+
```
|
48
|
+
hoge
|
49
|
+
```
|
50
|
+
|
51
|
+
この場合、hoge.txt内には`hoge`というキーワードで`hoge`と`hogehoge`がヒットします。
|
32
|
-
|
52
|
+
最終的な成果物out.txtに
|
53
|
+
```
|
54
|
+
hoge
|
55
|
+
hogehoge
|
56
|
+
```
|
57
|
+
を出力させるスクリプトを作成したいですが、上手くいきません。out.txtには何も出力されません。
|
58
|
+
|
59
|
+
## 備考
|
60
|
+
|
33
61
|
スクリプト最終行付近の`if line in keyword:` の挙動がよく分かりません。
|
34
62
|
`keyword`, `line`は任意のものが取得できていると思います。
|
35
63
|
`line in keyword` を出力すると`false`を返しますが、かといって`if line in keyword == False:`と記述しても、任意の結果が得られません(全く出力されない)。
|