Python 实现文言文词频统计

2018-07-12  本文已影响235人  黑羽肃霜

前言

Github 链接

本文旨在对开发过程中出现的若干问题作记录。因为开发本身过程大多采用参考代码,不完全原始开发,因此不涉及具体的python语法记录,只对搭建环境及需求分析作统一的记述。

需求描述

目的

旨在开发一个词频统计工具。统计某个文件夹下所有的.txt,.docx,.doc文件中出现的所有单个字出现的次数。

区别于现代文和英文(现代文设计组词分词,英文则是根据空格区分单词),文言文的基本释义是一字一义。因此,我们的统计可以适用于遍历所有的汉字,然后作统计。

选用 python 的目的

本次的需求实际上是一个桌面端应用的开发。当前能够使用的桌面端开发工具有许多。

  • Windows 平台下的桌面端仍然是微软提供的 MFC 开发,采用 C++语言
  • Mac 平台下和iOS 相同,采用Objective-CSwift配合Xcode IDE

本次的工具旨在开发一款跨平台的桌面端应用(在Windows, MacOSX)下通用。目前我个人已知的跨平台开发库除了Python相关的库外,就是JavaScript世界中的几个跨院库:Electron等。

跨平台开发本质上意味着牺牲一部分的性能以及包大小。简单来说就是各个平台本身有一套根据自身硬件性能和平台 api 特性设计的开发方案。跨平台的开发工具先用自身的开发逻辑实现了所有的业务,最后通过解释器生成原生使用的机器语言。

简单的解释,好比你带了一个翻译出国旅行。虽然也可以算得上畅行无阻,但是交流起来毕竟隔了一层。

本次的需求本身而言并不复杂,选用python的原因主要还是因为他的简单易用性。而electron,还需要熟悉更多额外的内容。

设计思路

文言文统计流程图

开发环境及搭建

遇到的问题

业务逻辑上的问题

除了上面提到的程序上的问题外,业务本身还存在几个开发过程中需要解决的痛点。这里一一罗列:

开发中遇到的问题

    打包mac 下的 app,那么要在 mac 下运行。打包 Windows 的.exe 文件,那么工程必须运行在 Windows 下。也就是说,我在 A 平台的时候,不能打包 B 平台下的包。这个其实也蛮麻烦的,等于我在两个平台都要安装一遍程序。
    
* 打开文件/文件夹,mac 和 windows 下的命令不同,代码要做兼容
完成统计后,我们理想的状态是打开生成的`excel`和它所在的文件夹。
    * mac 底下用的是`open ./desExcel.xls`,
    * windows 底下的命令是`./desExcel.xls`

    针对这点,需要作区别处理完成兼容

以上。

上一篇 下一篇

猜你喜欢

热点阅读