txt 文件 合并 并 按章节 分隔

 # -*- coding: utf8 -*-
import os result_name = 'result.txt' def resplit_txt_in_folder(folder_name):
for root,dirs,files in os.walk(folder_name):
for file_ in files:
if -1 != file_.find('.txt'):
resplit_txt_with_name(os.path.dirname(folder_name) + '/' +file_) def resplit_txt_with_name(txt_name):
'''
resplit the txt file, replace prefix with '章节'
'''
if True != os.path.exists(txt_name):
print 'resplit txt failed: file do not exist:' + txt_name
return
try:
print txt_name
handler = open(txt_name,'r')
result = open(result_name,'a')
buf = handler.readlines()
loop = 1
for index,line in enumerate(buf):
if -1 != line.find('@#'):
#buf[index] = '第' + str(loop) + '节 ' +line.decode('gb2312').encode('utf8') + '\r\n'
buf[index] = '第' + str(loop) + '节 ' +line
loop=loop+1
else:
#buf[index] = line.decode('gb2312').encode('utf8') + '\r\n'
pass
result.writelines(buf)
result.close() finally:
handler.close()
print 'resplit done' def merge_txt_in_folder(folder_name):
'''
merge all of the text file into one
''' r = open(result_name,'a')
loop = 1 for root,dirs,files in os.walk(folder_name):
for file_ in files:
if -1 != file_.find('.txt'):
try:
print file_
handler = open(file_,'r')
b = handler.read()
r.write('第' + str(loop) + '章 ' + file_.split('.')[0].decode('gb2312').encode('utf8') +'\r\n')
r.write(b + '\r\n')
loop = loop+1
finally:
handler.close() r.close() if __name__ == '__main__':
path_name = raw_input("input the path :")
print 'Start'
if '' == path_name:
#merge_txt_in_folder('.')
resplit_txt_in_folder('.')
else:
if True == os.path.exists(path_name):
#merge_txt_in_folder(path_name)
resplit_txt_in_folder(path_name)
else:
print 'path do not exist:',path_name
print 'End'

合并目录中的txt文件的更多相关文章

  1. 将指定目录中的txt文件转化成excel文件

    #!/usr/bin/env python#coding:utf-8import reimport osimport globimport xlwtimport sysdir=r"F:\te ...

  2. 创建一个目录info,并在目录中创建一个文件test.txt,把该文件的信息读取出来,并显示出来

    /*4.创建一个目录info,并在目录中创建一个文件test.txt,把该文件的信息读取出来,并显示出来*/ #import <Foundation/Foundation.h>#defin ...

  3. 在/proc文件系统中增加一个目录hello,并在这个目录中增加一个文件world,文件的内容为hello world

    一.题目 编写一个内核模块,在/proc文件系统中增加一个目录hello,并在这个目录中增加一个文件world,文件的内容为hello world.内核版本要求2.6.18 二.实验环境 物理主机:w ...

  4. Android开发---如何操作资源目录中的资源文件4 ---访问xml的配置资源文件的内容

    Android开发---如何操作资源目录中的资源文件4 XML,位于res/xml/,这些静态的XML文件用于保存程序的数据和结构. XmlPullParser可以用于解释xml文件 效果图: 描述: ...

  5. Android开发---如何操作资源目录中的资源文件3--圆角边框、背景颜色渐变效果、边框颜色

    Android开发---如何操作资源目录中的资源文件3 效果图 1.圆角边框 2.背景颜色渐变效果 1.activity_main.xml 描述: 定义了一个shape资源管理按钮 <?xml ...

  6. Android开发 ---如何操作资源目录中的资源文件2

    Android开发 ---如何操作资源目录中的资源文件2 一.颜色资源管理 效果图: 描述: 1.改变字体的背景颜色 2.改变字体颜色 3.改变按钮颜色 4.图像颜色切换 操作描述: 点击(1)中的颜 ...

  7. python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件

    python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...

  8. 在数据库中生成txt文件到网络驱动器中(计算机直接创建的网络驱动器在sql server中没有被找到)

    环境:sql server 2008 一.创建网络驱动器映射 语法:exec master..xp_cmdshell 'net use Z: \\ip地址\网络路径 密码 /user:用户名' 例如: ...

  9. Java以流的方式将指定文件夹里的.txt文件全部复制到另一文件夹,并删除原文件夹中所有.txt文件

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

随机推荐

  1. 卡尔曼滤波(Kalman Filter) 的进一步讨论

    我们在上一篇文章中通过一个简单的样例算是入门卡尔曼滤波了.本文将以此为基础讨论一些技术细节. 卡尔曼滤波(Kalman Filter) http://blog.csdn.net/baimafujinj ...

  2. CSS3:box-sizing:不再为盒子模型而烦恼

    题外话: W3C奉行的标准,就是content-box,就是须要计算边框,填充还有内容的;可是就我个人而言, 比較喜欢的是传统IE6时候的怪异模式,不用考虑容器是否会被撑开(打乱布局); 盒子模型差异 ...

  3. C Tricks(十六)—— 复制字符串

    while (*s++ = *t++); // target ⇒ source // 对于 C 语言而言,赋值运算符返回左值

  4. 完美解决 linux sublime 中文无法输入

    感谢oschina 中几位前辈的分享 下面是我结合自己的情况所配置的具体步骤: 系统环境: ubuntu 12.10 输入法:fcitx fcitx 安装 apt-get install fcitx ...

  5. DCloud-MUI:下拉刷新、上拉加载

    ylbtech-DCloud-MUI:下拉刷新.上拉加载 1. 下拉刷新返回顶部 0. http://dev.dcloud.net.cn/mui/pulldown/ 1. 概述 为实现下拉刷新功能,大 ...

  6. 关于form/input 的autocomplete="off"属性

    转自:http://blog.sina.com.cn/s/blog_b49f96a701019m0d.html 一. 有过表单设计经验的朋友肯定知道,当我们在浏览器中输入表单信息的时候,往往input ...

  7. python 6:list.append(新元素)与list.insert(索引,新元素)(在列表末尾追加新元素、在索引处添加新元素)

    bicycles = ['trek', 'cannondale', 'redline', 'specialized'] print(bicycles) bicycles.append("ho ...

  8. mac下idea卡顿问题解决

    idea在加载相对来说比较大的系统时,经常性出现卡顿,就是直接卡死,以至于写起代码特别难受. 最后找到的解决方案是修改idea.vmoptions中的内存大小 执行 find / -name idea ...

  9. C# Datetime 使用详解

    获得当前系统时间: DateTime dt = DateTime.Now; Environment.TickCount可以得到“系统启动到现在”的毫秒值 DateTime now = DateTime ...

  10. Haar、pico、npd、dlib等多种人脸检测特征及算法结果比较

    原文:opencv.pico.npd.dlib.face++等多种人脸检测算法结果比较 NDP检测结果: 结果分析: Pico(Pixel Intensity Comparison-based Obj ...