Python实现txt文件内容快速合并功能
2011-11-29 16:36
1031 查看
这段时间三天两头断电断网的,真是背到家了,明后两天寝室楼更是要因为线路改造要从早上7点停到晚上5点半,真是悲剧。
今天汇编的时候在阿甘的博客里面看到了一部小说《疯狂的程序员》,于是网上搜了下准备放到手机里闲时看看,无奈下载后发现是分章节的txt文本,一共有87个文件,考虑到阅读起来不是很方便,于是想找个现成的工具合并txt文本。
结果尝试了几个工具后觉得合并效果都不给力啊,于是打算自己动手。其实cmd的命令"type *.txt >> crazy-programmer.txt"还是很有效果的,然而合并后的txt文件却十分庞大,所以我还是自己写了一个脚本完成了合并。
说明:由于我下载的87个txt文件的字符编码格式都不统一,所以我用chardet模块判断字符编码类型后再用codecs模块的codecs.open功能解决了编码问题。如果直接用file的open打开txt文件的话,在UCS-2 Little Endian的编码情况下,file.read()遇到中文的冒号(即“:”)后会无法读取冒号以后的内容,所以需要用codecs.open(path,'r',encoding)来解决。
如果还有问题可以留言,代码如下:
最后分享下我合并好的《疯狂的程序员》txt文件,请猛击这里下载。(如果链接过期请留言提醒我续期,谢谢)
今天汇编的时候在阿甘的博客里面看到了一部小说《疯狂的程序员》,于是网上搜了下准备放到手机里闲时看看,无奈下载后发现是分章节的txt文本,一共有87个文件,考虑到阅读起来不是很方便,于是想找个现成的工具合并txt文本。
结果尝试了几个工具后觉得合并效果都不给力啊,于是打算自己动手。其实cmd的命令"type *.txt >> crazy-programmer.txt"还是很有效果的,然而合并后的txt文件却十分庞大,所以我还是自己写了一个脚本完成了合并。
说明:由于我下载的87个txt文件的字符编码格式都不统一,所以我用chardet模块判断字符编码类型后再用codecs模块的codecs.open功能解决了编码问题。如果直接用file的open打开txt文件的话,在UCS-2 Little Endian的编码情况下,file.read()遇到中文的冒号(即“:”)后会无法读取冒号以后的内容,所以需要用codecs.open(path,'r',encoding)来解决。
如果还有问题可以留言,代码如下:
#!coding: cp936 import codecs, chardet def fileopen(filename): f = open(filename, 'r') s = f.read() if(chardet.detect(s)['encoding'] == 'UTF-16LE'): f.close() f = codecs.open(filename, 'r', 'utf-16-le') data = f.read().encode('gb2312', 'ignore') f.close() elif(chardet.detect(s)['encoding'] == 'GB2312'): data = s f.close() return data i = 1 while i <=87: if(i < 10): filename = '0'+str(i)+'.txt' else: filename = str(i)+'.txt' text = fileopen(filename) file('crazy-p.txt', 'a+').write(text) i = i+1其中,chardet模块需要下载安装,脚本还可以改进以适应更多种情况,我就懒了。
最后分享下我合并好的《疯狂的程序员》txt文件,请猛击这里下载。(如果链接过期请留言提醒我续期,谢谢)
相关文章推荐
- python实现将文件夹内所有txt文件合并成一个文件
- Python实现将目录中TXT合并成一个大TXT文件的方法
- Python实现合并同一个文件夹下所有txt文件的方法示例
- 【Python/PE】python中实现文件操作的几种功能(删除指定目录下的所有内容,文件复制等)
- python实现两个文件合并功能
- python实现将文件夹内所有txt文件合并成一个文件
- 【Unity快速实现小功能】加载文本文件之——加载txt文件
- Python实现将目录中TXT合并成一个大TXT文件的方法
- Python实现的txt文件去重功能示例
- PYTHON实现把PPT文档中的内容导出到TXT文件中
- Python比较两个文件(txt,csv等)相同内容合并同一文件/文本时间大小比较大小
- 分别使用c、shell语言实现文件内容合并 -- 2014百度面试题目
- python实现比较文件内容异同
- 纯JS实现的读取excel文件内容功能示例【支持所有浏览器】
- Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
- Python基于正则表达式实现检查文件内容的方法【文件检索】
- Hadoop 1.x 实现文件上传合并功能
- JTextArea内容保存到txt文件上,如何实现换行
- Python打开文件,将list、numpy数组内容写入txt文件中
- python使用paramiko模块实现ssh远程命令执行,与sftp文件下载功能