質問編集履歴
3
エラー画面の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
例題でmakefileで実行してファイルを作成するものがあります。
|
1
|
+
例題でmakefileで実行してファイルを作成するものがあります。
|
2
2
|
しかし、makefileの実行方法がわかりません。
|
3
3
|
昔、Cで組み込み開発していた時は、パスを通して実行していた記憶がありますが、忘れてしまっています。
|
4
4
|
pythonのmakefileはどのように実行したらいいのでしょうか。
|
2
ソースの追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,7 +10,9 @@
|
|
10
10
|
よろしくおねがいいたします。
|
11
11
|
makefileの中身は、以下になります。
|
12
12
|
|
13
|
-
|
13
|
+
makefile
|
14
|
+
|
15
|
+
```ここに言語を入力
|
14
16
|
CORPUS_URL = http://mmsrv.ninjal.ac.jp/nucc/nucc.zip
|
15
17
|
ZIP_FILE = nucc.zip
|
16
18
|
UNZIP_DIR = nucc
|
@@ -40,6 +42,7 @@
|
|
40
42
|
$(UNZIP_DIR): nucc.zip
|
41
43
|
$(UNZIP) -x $(ZIP_FILE)
|
42
44
|
```
|
45
|
+
```
|
43
46
|
-*- coding: utf-8 -*-
|
44
47
|
|
45
48
|
import os, sys
|
1
ソースの追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -38,4 +38,73 @@
|
|
38
38
|
$(WGET) $(CORPUS_URL)
|
39
39
|
|
40
40
|
$(UNZIP_DIR): nucc.zip
|
41
|
-
$(UNZIP) -x $(ZIP_FILE)
|
41
|
+
$(UNZIP) -x $(ZIP_FILE)
|
42
|
+
```
|
43
|
+
-*- coding: utf-8 -*-
|
44
|
+
|
45
|
+
import os, sys
|
46
|
+
|
47
|
+
try:
|
48
|
+
unicode
|
49
|
+
import codecs
|
50
|
+
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
|
51
|
+
def copen(fname, mode):
|
52
|
+
return codecs.open(fname, mode, "utf-8")
|
53
|
+
except:
|
54
|
+
def copen(fname, mode):
|
55
|
+
return open(fname, mode, encoding='utf-8')
|
56
|
+
|
57
|
+
nuc_dir = "nucc"
|
58
|
+
|
59
|
+
def make_sequence_from_file(fname):
|
60
|
+
fname = os.path.join(nuc_dir, fname)
|
61
|
+
if not os.path.exists(fname):
|
62
|
+
raise Exception("no %s file." % fname)
|
63
|
+
last_line = None
|
64
|
+
sequence = []
|
65
|
+
with copen(fname, "r") as f:
|
66
|
+
try:
|
67
|
+
for line in f:
|
68
|
+
uline = line
|
69
|
+
if uline[0] == u'@':
|
70
|
+
continue
|
71
|
+
if uline[0] == u'F' or uline[0] == u'M':
|
72
|
+
if last_line is None:
|
73
|
+
last_line = uline
|
74
|
+
continue
|
75
|
+
else:
|
76
|
+
seq_input = last_line[5:-1]
|
77
|
+
seq_output = uline[5:-1]
|
78
|
+
last_line = uline
|
79
|
+
sequence.append((seq_input, seq_output))
|
80
|
+
else:
|
81
|
+
last_line = None
|
82
|
+
except:
|
83
|
+
sys.stderr.write("skip %s (not euc-jp)\n" % fname)
|
84
|
+
sys.stderr.flush()
|
85
|
+
return []
|
86
|
+
return sequence
|
87
|
+
|
88
|
+
def main():
|
89
|
+
if not os.path.exists(nuc_dir):
|
90
|
+
raise Exception("no extracted files.")
|
91
|
+
|
92
|
+
files = os.listdir(nuc_dir)
|
93
|
+
uniq_seq = {}
|
94
|
+
for f in files:
|
95
|
+
if not ".txt" in f:
|
96
|
+
continue
|
97
|
+
seq = make_sequence_from_file(f)
|
98
|
+
for inp, out in seq:
|
99
|
+
uniq_seq[inp] = out
|
100
|
+
for k, v in uniq_seq.items():
|
101
|
+
print("input: %s\noutput: %s" % (k, v))
|
102
|
+
return
|
103
|
+
|
104
|
+
|
105
|
+
if __name__ == "__main__":
|
106
|
+
main()
|
107
|
+
sys.exit(0)
|
108
|
+
#
|
109
|
+
コード
|
110
|
+
```
|