Python实现txt文件内容快速合并功能
来源:互联网 发布:中国数据新闻网 编辑:程序博客网 时间:2024/06/05 20:45
这段时间三天两头断电断网的,真是背到家了,明后两天寝室楼更是要因为线路改造要从早上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)来解决。
如果还有问题可以留言,代码如下:
#!coding: cp936import codecs, chardetdef 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 datai = 1while 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文件内容快速合并功能
- 如何快速合并多个TXT文件
- Python 批量合并多个txt文件
- python实现将文件夹内所有txt文件合并成一个文件
- Python比较两个文件(txt,csv等)相同内容合并同一文件/文本时间大小比较大小
- Python过滤txt文件内重复内容
- 合并多个txt文件内容终极方法
- 【python txt合并】python合并同一个文件夹下所有txt文件
- 【Unity快速实现小功能】加载文本文件之——加载txt文件
- java实现读取txt文件中的内容
- python合并txt
- PYTHON实现把PPT文档中的内容导出到TXT文件中
- python实现读取本地多个TXT文件内容并发送邮件
- 读取txt文件实现搜索替换功能
- 合并txt文件
- 命令行合并txt文件
- txt文件合并
- Mtalab txt文件合并
- aptitude 使用快速参考
- web.config
- mySQL命令集锦
- 线性表
- CRF中文分词开源版发布啦
- Python实现txt文件内容快速合并功能
- MTK 编程小节 之 域名解析
- Button input interrupt under linux kernel 2.6.35.7 send message button event
- 在 IIS 中将虚拟目录配置为应用程序
- C#中设定小数位数
- Linux下C 文件读写程序
- WPF窗口跳转及window和page区别
- 软件测试阶段以及产物
- android 内存和电量