[背景]练手,想简单统计一下元素个数。保存成字典形式以后,想要长久的保存下来,方便以后使用,还是得通过序列化,python当中的列表、字符串、字典等数据类型都可以通过序列化以二进制序列形式在网络上传送,便于传输,便于存储。序列化以后,要读取序列内容可以通过反序列化形式pickle.load(f)或者pickle.loads()
【知识点】序列化、文件读取、列表、字典和集合操作
import pickle import os.path def resultProcess(outpath): resultlist=[] dictresult={} with open(outpath) as fread: for line in fread.readlines(): resultlist.append(line.strip('\n')) #转成无重复的无序的集合 setresult=set(resultlist) #统计元素出现个数 for i in setresult: dictresult[i]=resultlist.count(i) #split将当前路径分成文件夹和文件名称,并返回列表,通过获取第一个列表元素可以获得该文件的父文件夹路径 inputpath=os.path.join(os.path.split(outpath)[0],'process.txt') with open(inputpath,'wb') as fwrite: #序列化 pickle.dump(dictresult,fwrite) resultProcess('要读取的文件名称')
【反序列化过程】读取文件时注意以二进制形式
import pickle with open(‘待读取文件名称’,'rb') as fread: model=pickle.load(fread)
接下来可以遍历字典,字典的遍历方法见http://blog.csdn.net/brave_jcc/article/details/79529271