文本分析--遍历文件夹和读写文件
来源:互联网 发布:关口知宏中国铁道记行 编辑:程序博客网 时间:2024/05/21 19:48
分析:
1、读取指定目录下的所有文件
2、读取指定文件,输出文件内容
3、创建一个文件夹,并将内容放到指定文件中
输入文件存放样例:
输入文件夹News_split下的所有文件:
输出文件存放样例:
创建一个文件夹News_split_cut,并将文件保存到文件夹下:
实现:
# -*-coding:utf-8-*-import sysimport reimport codecsimport osimport shutilimport jiebaimport jieba.analyse""" 分词处理,主要就是进行分词操作"""# 导入自定义词典jieba.load_userdict('user_dict.txt')jieba.load_userdict('name_dict.txt')stopwords = {}.fromkeys([line.rstrip() for line in open('stopkey_zh.txt')])def read_file_cut(): # 创建文件路径 path = "News_split\\" # 输入文件路径 respath = "News_split_cut\\" # 输出文件路径 if os.path.isdir(respath): shutil.rmtree(respath, True) os.makedirs(respath) num = 2 while num <= 271: # 读取文件夹中的文件 name = "News_" + str(num) fileName = path + str(name) + ".txt" resName = respath + str(name) + ".txt" source = open(fileName, 'r') if os.path.exists(resName): os.remove(resName) result = codecs.open(resName, 'w', 'utf-8') line = source.readline() line = line.rstrip('\n') # 分词处理 while line != "": line = unicode(line, "utf-8") seglist = jieba.cut(line, cut_all=False) # 精确模式 output = ' '.join(list(seglist)) # 空格拼接 print type(output) # 去除停用词 final = '' for out in output: out = out.encode('utf-8') if out not in stopwords: final += out print final print type(final) result.write(final.decode('utf8') + '\r\n') # 输出内容 line = source.readline() else: print 'End file: ' + str(num) source.close() result.close() num = num + 1 else: print 'End All'if __name__ == '__main__': read_file_cut()
通用方法:
上述代码确定了文件名,这里通过读取文件夹下的任意文件来进行文件的读写。
# -*-coding:utf-8-*-import osimport shutil""" 读取文件夹下的所有文件: 1、通过文件夹路径,进入文件夹下 2、读取文件夹下的所有文件名称 3、文件夹路径+文件名称 = 文件路径,进入到文件中,读取文件"""""" 写入文件夹中的文件中: 1、创建文件夹(新建文件夹) 2、新建文件夹+文件名称 = 新文件路径 3、进入到新文件路径,写入文件内容"""# 读取文件夹下的所有文件def read_file(folderpath): pathDir = os.listdir(folderpath) # 列出文件夹下的文件名称 print pathDir for file in pathDir: filepath = folderpath + file # 进入文件中 f = open(filepath).read() print f# 先读取文件夹下的所有的文件,再按照文件不同写入到文件夹中def write_file(folderpath, newfolderpath): # 创建一个文件夹 if os.path.isdir(newfolderpath): shutil.rmtree(respath, True) os.makedirs(newfolderpath) # 读取文件夹中的文件 pathDir = os.listdir(folderpath) for file in pathDir: filepath = folderpath + file f = open(filepath).read() # 一个一个读取文件内容 # 一个一个的写入文件夹中的文件 newfilepath = newfolderpath+file result = open(newfilepath, 'w') result.write(f)if __name__ == '__main__': folderpath = 'News_split\\' newfolderpath = 'newfolder\\' read_file(folderpath) write_file(folderpath, newfolderpath)
0 0
- 文本分析--遍历文件夹和读写文件
- 文件读写&文件夹遍历
- Python遍历文件夹和读写文件的方法
- Python遍历文件夹和读写文件的方法
- Python遍历文件夹和读写文件的方法
- 遍历文件夹和遍历文件
- 遍历文件和文件夹
- PHP遍历文件和文件夹
- php遍历文件和文件夹
- 遍历文件和文件夹oswalk
- MFC遍历文件和文件夹
- 遍历文件夹下所有文件和文件夹
- java 遍历文件夹 和 文件夹的简单读写
- 按照文件修改时间遍历文件夹,进行文本连接
- Python基础之文件读写和列表字典使用 ——《侠客行》文本分析
- vbs遍历文件夹中的文件和文件夹,及其子文件
- 遍历文件目录和列出空文件夹
- java遍历系统所有文件和文件夹
- mybatis中的 foreach 遍历
- @Scope("prototype")
- 五、VisualVm使用
- Android开发Diffutils打造不一样的recyclerview
- H5网页端直接打开APP并获取传递数据的方案.
- 文本分析--遍历文件夹和读写文件
- 系列:iOS开发-协议和代理
- 水经注万能地图下载器
- 全文检索之Spring Hibernate search 注解实现
- nltk学习
- 【转】TensorBoard 在1.0 版本后的使用
- Java Swing编写小工具图形化界面
- 谈谈撰写硕士毕业论文的感受
- linux多线程之读写锁