forked from p46318075/CodePattern
parent
2cac3f2788
commit
50952795a8
@ -0,0 +1,2 @@
|
|||||||
|
|
||||||
|
# 文件或者共享变量
|
Binary file not shown.
@ -1,45 +0,0 @@
|
|||||||
import sys, collections
|
|
||||||
from cppy.cp_util import *
|
|
||||||
|
|
||||||
class WordFrequenciesModel:
|
|
||||||
""" 模型:数据 """
|
|
||||||
def __init__(self, path_to_file):
|
|
||||||
self.update(path_to_file)
|
|
||||||
|
|
||||||
def update(self, path_to_file):
|
|
||||||
try:
|
|
||||||
self.freqs = collections.Counter( extract_file_words(path_to_file) )
|
|
||||||
except IOError:
|
|
||||||
print("File not found")
|
|
||||||
self.freqs = {}
|
|
||||||
|
|
||||||
|
|
||||||
class WordFrequenciesView:
|
|
||||||
""" 视图:数据展现 """
|
|
||||||
def __init__(self, model):
|
|
||||||
self._model = model
|
|
||||||
|
|
||||||
def render(self):
|
|
||||||
sorted_freqs = sort_dict(self._model.freqs)
|
|
||||||
print_word_freqs(sorted_freqs)
|
|
||||||
|
|
||||||
|
|
||||||
class WordFrequencyController:
|
|
||||||
""" 控制:操作逻辑 """
|
|
||||||
def __init__(self, model, view):
|
|
||||||
self._model, self._view = model, view
|
|
||||||
view.render()
|
|
||||||
|
|
||||||
def run(self):
|
|
||||||
while True:
|
|
||||||
print("Enter the file path (or 'q' to quit): ", file=sys.stderr, flush=True)
|
|
||||||
filename = sys.stdin.readline().strip()
|
|
||||||
if filename.lower() == 'q': break
|
|
||||||
self._model.update(filename)
|
|
||||||
self._view.render()
|
|
||||||
|
|
||||||
|
|
||||||
m = WordFrequenciesModel( testfilepath )
|
|
||||||
v = WordFrequenciesView(m)
|
|
||||||
c = WordFrequencyController(m, v)
|
|
||||||
c.run()
|
|
Loading…
Reference in new issue