Gitee代码链接https://gitee.com/dsjyun/WordCount/tree/master
一, 功能需求
wc.exe -c file.c //返回文件 file.c 的字符数
wc.exe -w file.c //返回文件 file.c 的单词总数
wc.exe -l file.c //返回文件 file.c 的总行数
wc.exe -o outputFile.txt file.c //将结果输出到指定文件outputFile.txt
二,解题思路:
(1)这次作业并不难,所以我选用了正在自学的Python来实现WordCount。
(2)运用正则表达式提取.c文件中所有的字符;
(3)以空格为分隔符号提取.c文件中所有的单词数;
(4)运用Python中ReadLines方法提取.c文件中所有的行数。
三,主要代码
1.统计字符数
if dir_path.find("-c")!=-1: txt = dir_path.split(" ")[-1].split(".")[0] z =".txt" path = os.getcwd()+"\\"+txt+".c" w = open(path,"a+") //打开用户需要解析的.c文件 z = w.read() r = re.compile(r‘(.|\n)*‘) //正则表达式规则,用来统计字符个数 w.close() path_new = os.getcwd()+"\\"+"result.txt" result = open(path_new,"a+") result.write(txt+".c"+","+"字符数:"+str(len(r.search(z).group()))) result.close()
2.统计行数;
if dir_path.find("-w")!=-1: txt = dir_path.split(" ")[-1].split(".")[0] z =".txt" path = os.getcwd()+"\\"+txt+".c" w = open(path,"a+") z = w.read() print len(z.split(" ")) w.close() path_new = os.getcwd()+"\\"+"result.txt" result = open(path_new,"a+") result.write(txt+".c"+","+"单词数:"+str(len(z.split(" ")))) result.close()
3.统计行数;
if dir_path.find("-l")!= -1: txt = dir_path.split(" ")[-1].split(".")[0] z =".txt" path = os.getcwd()+"\\"+txt+".c" jii = open(path,‘rU‘) count = len(jii.readlines()) path_new = os.getcwd()+"\\"+"result.txt" jii.close() result = open(path_new,"a+") result.write(txt+".c"+","+"行数:"+str(count)) result.close() print count
四,功能测试
五,总结
这次作业很有意义,首先作业严格贴合我们学习的内容,使我们对理论知识的实践;并且老师也要求我们自己编码实现WordCount,也可以锻炼我们的编程能力。
原文:https://www.cnblogs.com/dsjbo/p/9721417.html