结对-英文词频检测程序-开发过程

一、csv导出模块的编写:
当初先设计了csv部分, 过程参考了一些网络上的代码,使用内置csv包, 将字典类型构造为数组, 最后利用python的csv模块写入本地。当时代码的原型:

def foo_name(dict_profile):
    with open(path_out, "w") as csvfile:
        writer = csv.writer(csvfile)
        for key in dict_profile:
            writer.writerow([key, dict_profile[key]])
if __name__ == '__main__':
    foo_name()
  • 二、单词统计模块的编写:
    原理是遍历数组, 将其中内容通过字典get()函数统计, 有key的值+1,没有key的值赋0。 当时代码的原型:
def count(word_list):
    d = {}
    for item in word_list:
       d[item] = d.get(item, 0) + 1

    return d
if __name__ == '__main__':
    count()
  • 三、结果展示模块的编写:
    该模块调用上面统计模块返回的字典, 遍历字典, 构造字符串打印, 当时代码的原型:
def print_result(dict_name):
    for k, count in sorted(dict_name.items(), key=lambda x: x[1], reverse=is_revese)[:max_show]:
        print("{0:11}{1}".format(k, count))

if __name__ == '__main__':
    print_result()
  • 四、settings模块的编写:
    重构阶段, 将代码写死部分, 换成可调用变量写入settings.py中, 编写注释。
# Author  : gengwenhao
# 2017-09-06
SETTING_STR = {

    'str_re': r"[\w]+|-|'",  # 自定义正则, 现在是0-9a-zA-Z|-|'

    'str_path': r'1.txt',  # 文本路径

    'str_path_out': r'result.csv',  # 保存的路径

    'is_reverse': True,  # 是否排序显示

    'max_show': 100,  # 展示出来的记录量, 100条
}
posted @ 2017-11-02 18:03  朱程远  阅读(131)  评论(0编辑  收藏  举报