此作业的要求参见[https://edu.cnblogs.com/campus/nenu/2019fall/homework/6583]
代码:https://e.coding.net/sxy504/cipin.git
以下均是我总结出的对我而言的重难点:(1).py文件转化为.exe文件(2)python打开文件;(3)将文件中的标点等特殊符号去掉;(4)统计每个单词的频率并存放在字典;(5)文件数量的查找及文件路径的判断等。
功能1 小文件输入。 为表明程序能跑,结果真实而不是迫害老五,请他亲自键盘在控制台下输入命令。
代码:
def rd_file(xgc):
try:
f = open(xgc, 'r')
except IOError as s:
print(s)
return None
bf = f.read()
f.close()
stat(bf)
def stat(bf):
if bf:
wd_fd = {0}
bf = bf.lower()
for i in '!"#$%^&*()_+-=~`:;{}[]\|<>,.?/':
bf = bf.lower().replace(i, " ")
wds = bf.strip().split()
a = 0
a += len(wds)
print("a:"+str(a))
for wd in wds:
wd_fd[wd] = 1 + wd_fd.get(wd, 0)
ep(wd_fd)
知识兔运行结果:
功能2 支持命令行输入英文作品的文件名,请老五亲自录入。
def reg(rec):
i = '.txt'
if i in rec:
w = rec
else:
w = rec + '.txt'
f = open(w, 'r')
bf = f.read()
f.close()
stat(bf)
def ep(wd_fd):
if wd_fd:
sorted_word_freq = sorted(wd_fd.items(), key=lambda v: v[1], reverse=True)
for item in sorted_word_freq[:10]:
#print(item[0], item[1])
print('%-8s%5d' % (item[0], item[1]))
知识兔功能3 支持命令行输入存储有英文作品文件的目录名,批量统计。
代码:
def flnub(x):
print(x)
a = open(x, 'r')
b = a.read()
a.close()
stat(b)def felt(p):
fs = os.listdir(p)
for f in fs:
if os.path.isfile(f):
flnub(f)
知识兔执行结果:
功能4还未实现,随着之后的学习争取可以完成
PSP: