質問編集履歴

2

エラーメッセージとその矛盾を解消

2017/12/22 07:06

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -12,19 +12,21 @@
12
12
 
13
13
  Traceback (most recent call last):
14
14
 
15
- File ".../Main.py", line 16, in <module>
15
+ File "C:/.../Main.py", line 16, in <module>
16
16
 
17
17
  START()
18
18
 
19
- File "・・・/Main.py", line 11, in START
19
+ File "C:/.../Main.py", line 11, in START
20
20
 
21
21
  __BOOT_UP()
22
22
 
23
- File ".../Main.py", line 4, in __BOOT_UP
23
+ File "C:/.../Main.py", line 4, in __BOOT_UP
24
-
24
+
25
- boot=DATABANK.LOAD()
25
+ boot=LOAD()
26
-
26
+
27
- NameError: name 'DATABANK' is not defined
27
+ TypeError: 'module' object is not callable
28
+
29
+
28
30
 
29
31
  が出てしまう
30
32
 
@@ -124,6 +126,8 @@
124
126
 
125
127
  ##Main.py
126
128
 
129
+
130
+
127
131
  def __BOOT_UP():
128
132
 
129
133
  from INPUT.DATABANK import LOAD
@@ -154,6 +158,8 @@
154
158
 
155
159
  START()
156
160
 
161
+
162
+
157
163
  ```
158
164
 
159
165
  ```Python3.6

1

LOAD.pyについて追記

2017/12/22 07:06

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  しかし,ひとつしたのディレクトリにあるプログラムをロードできません
6
6
 
7
+ 関係ないかもしれませんが,LOAD.pyはシングルトン実装にしてあり,Janomeのロード時間を一括するために作りました
8
+
7
9
  ###発生している問題・エラーメッセージ
8
10
 
9
11
  Main.pyからINPUT/DATABANK/LOAD.pyをインポートしたいが,
@@ -154,7 +156,61 @@
154
156
 
155
157
  ```
156
158
 
157
-
159
+ ```Python3.6
160
+
161
+ #LOAD.py
162
+
163
+ import threading
164
+
165
+ from janome.tokenizer import Tokenizer
166
+
167
+
168
+
169
+ class LOAD():
170
+
171
+
172
+
173
+ _instance=None
174
+
175
+ _lock=threading.Lock()
176
+
177
+ Mecab_instance=None
178
+
179
+
180
+
181
+ def __init__(self):
182
+
183
+ print("ロード完了")
184
+
185
+
186
+
187
+ def __new__(cls):
188
+
189
+ with cls._lock:
190
+
191
+ if cls._instance is None:
192
+
193
+ cls._instance=super().__new__(cls)
194
+
195
+ ##ここからロードゾーン
196
+
197
+ global Mecab_instance
198
+
199
+ Mecab_instance=Tokenizer(mmap=True)
200
+
201
+
202
+
203
+
204
+
205
+ return cls._instance
206
+
207
+
208
+
209
+ def getMecab(self):
210
+
211
+ return Mecab_instance
212
+
213
+ ```
158
214
 
159
215
  ###試したこと
160
216