合并目录中的txt文件
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文件的更多相关文章
- 将指定目录中的txt文件转化成excel文件
#!/usr/bin/env python#coding:utf-8import reimport osimport globimport xlwtimport sysdir=r"F:\te ...
- 创建一个目录info,并在目录中创建一个文件test.txt,把该文件的信息读取出来,并显示出来
/*4.创建一个目录info,并在目录中创建一个文件test.txt,把该文件的信息读取出来,并显示出来*/ #import <Foundation/Foundation.h>#defin ...
- 在/proc文件系统中增加一个目录hello,并在这个目录中增加一个文件world,文件的内容为hello world
一.题目 编写一个内核模块,在/proc文件系统中增加一个目录hello,并在这个目录中增加一个文件world,文件的内容为hello world.内核版本要求2.6.18 二.实验环境 物理主机:w ...
- Android开发---如何操作资源目录中的资源文件4 ---访问xml的配置资源文件的内容
Android开发---如何操作资源目录中的资源文件4 XML,位于res/xml/,这些静态的XML文件用于保存程序的数据和结构. XmlPullParser可以用于解释xml文件 效果图: 描述: ...
- Android开发---如何操作资源目录中的资源文件3--圆角边框、背景颜色渐变效果、边框颜色
Android开发---如何操作资源目录中的资源文件3 效果图 1.圆角边框 2.背景颜色渐变效果 1.activity_main.xml 描述: 定义了一个shape资源管理按钮 <?xml ...
- Android开发 ---如何操作资源目录中的资源文件2
Android开发 ---如何操作资源目录中的资源文件2 一.颜色资源管理 效果图: 描述: 1.改变字体的背景颜色 2.改变字体颜色 3.改变按钮颜色 4.图像颜色切换 操作描述: 点击(1)中的颜 ...
- python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件
python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...
- 在数据库中生成txt文件到网络驱动器中(计算机直接创建的网络驱动器在sql server中没有被找到)
环境:sql server 2008 一.创建网络驱动器映射 语法:exec master..xp_cmdshell 'net use Z: \\ip地址\网络路径 密码 /user:用户名' 例如: ...
- Java以流的方式将指定文件夹里的.txt文件全部复制到另一文件夹,并删除原文件夹中所有.txt文件
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...
随机推荐
- 创造HTTPS的是个神
HTTP 是一个明文传输的协议,很多网络监听工具都可以轻易窃取网络中传输的用户信息,如密码,信用卡, 直到后来发明HTTPS, 世界一下子安静了 Why HTTPS? HTTPS可以保证用户提交的信息 ...
- com关于引用计数
实现引用计数并不难,但在什么层次上进行引用计数呢? 依照com规范,一个com组件能够实现多个com对象.而且每一个com对象又能够支持多个com接口,这样的层次结构为我们实现引用计数提供了多种选择方 ...
- 查看及改动Oracle编码格式方法
首先查看oracle数据库的编码 SQL> select * from nls_database_parameters where parameter ='NLS_CHARACTERSET ...
- inux内核模块编程入门
linux内核模块编程入门 2013-07-06 23:59:54 分类: LINUX 原文地址:linux内核模块编程入门 作者:s270768095 模块编程属于内核编程,因此,除了对内核相关知识 ...
- css中的绝对定位和相对定位(详解,总结)
css中的绝对定位和相对定位(详解,总结) 总结: 设置绝对定位或者相对定位后都从文档中浮起来了,区别是相对定位还占着原来的位置,绝对定位不占着原来的位置,可以种z-index来改变元素的浮动的堆叠次 ...
- C# Path 有关于文件路径等问题类(转)
C# Path 标签:C#, Path C-Sharp 0 Path handles file path processing. The .NET Framework provides effect ...
- 79.员工薪水报表 Extjs 页面
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" ...
- 快速排序及三向切分快排——java实现
快速排序也是一种分治算法.主要思想是选取一个切分点,将大于切分点的元素都放置到数组右侧,小于切分点的元素都放置到数组左侧:然后递归,再对切分点左侧和右侧分别排序. 归并排序时递归在前,归并在后,快速排 ...
- lowbit( )运算
--------开始-------- lowbit (n) 定义为非负整数n在二进制表示下“最低位的1及其后面所有的0构成的数值. 比如: n = 10 的二进制下为1010,则lowbit (n) ...
- [Luogu 2331] [SCOI2005]最大子矩阵
[Luogu 2331] [SCOI2005]最大子矩阵 题目描述 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大.注意:选出的k个子矩阵不能相互重叠. 输入输出格式 ...