python将多个文本文件合并为一个文本的代码(便于搜索)


Posted in Python onMarch 13, 2011

但是,当一本书学过之后,对一般的技术和函数都有了印象,突然想要查找某个函数的实例代码时,却感到很困难,因为一本书的源代码目录很长,往往有几十甚至上百个源代码文件,想要找到自己想要的函数实例谈何容易?

所以这里就是要将所有源代码按照目录和文件名作为标签,全部合并到一处,这样便于快速的搜索。查找,不是,那么查找下一个……于是很快便可以找到自己想要的实例,非常方便。当然,分开的源代码文件依然很有用,同样可以保留。合并之后的源代码文件并不大,n*100KB而已,打开和搜索都是很快速的。大家可以将同一种编程语言的所有实例通过这种方法全部合并为一个文件,搜索的效率就会大大提高。

注意:保存代码之后,将源文件复制到目录下,同一目录下的所有目录和其子目录都会被搜索;你可以加上后缀限定,只获取某种格式的文件的内容即可;源代码如下,请复制后保存:

# -*- coding: utf-8 -*- import os,sys 
info = os.getcwd() 
fout = open('note.tpy', 'w') # 合并内容到该文件 
def writeintofile(info): 
fin = open(info) 
strinfo = fin.read() 
# 利用##作为标签的点缀,你也可以使用其他的 
fout.write('\n##\n') 
fout.write('## '+info[-30:].encode('utf-8')) 
fout.write('\n##\n\n') 
fout.write(strinfo) 
fin.close() 

for root, dirs, files in os.walk(info): 
if len(dirs)==0: 
for fl in files: 
info = "%s\%s" % (root,fl) 
if info[-2:] == 'py': # 只将后缀名为py的文件内容合并 
writeintofile(info) 
fout.close()

如果你不想合并内容,只想获得一个文件名的清单文件,也可以。这里给你代码。例如,有的作者就会使用这个功能为自己生成一个源代码文件清单,很实用。

源代码为:

# -*- coding: utf-8 -*- 
''' 
本程序自动搜索指定的目录, 
打印所有文件的完整文件名到指定的文件中 
''' 
import os,sys 
export = "" 
i=1 
for root, dirs, files in os.walk(r'..'): 
#r'.'表示当前目录中的所有清单 
#..表示平行的其他目录,多出很多内容 
export += "--%s--\n%s\n\n%s\n\n" % (i,root,'\n'.join(files)) 
i=i+1 
fp = open('cdcfile-4.txt', 'w') 
fp.write(export) 
fp.close()
Python 相关文章推荐
Python验证企业工商注册码
Oct 25 Python
浅析Python编写函数装饰器
Mar 18 Python
在NumPy中创建空数组/矩阵的方法
Jun 15 Python
Python使用combinations实现排列组合的方法
Nov 13 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
Feb 01 Python
利用python如何在前程无忧高效投递简历
May 07 Python
Django组件content-type使用方法详解
Jul 19 Python
Python使用进程Process模块管理资源
Mar 05 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
Mar 30 Python
使用pyplot.matshow()函数添加绘图标题
Jun 16 Python
详解python变量与数据类型
Aug 25 Python
Python预测分词的实现
Jun 18 Python
布同自制Python函数帮助查询小工具
Mar 13 #Python
Python中的文件和目录操作实现代码
Mar 13 #Python
python 中的列表解析和生成表达式
Mar 10 #Python
Python中使用中文的方法
Feb 19 #Python
python实现的防DDoS脚本
Feb 08 #Python
Python牛刀小试密码爆破
Feb 03 #Python
初学python数组的处理代码
Jan 04 #Python
You might like
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
2010/02/16 PHP
基于PHP输出缓存(output_buffering)的深入理解
2013/06/13 PHP
thinkphp3查询mssql数据库乱码解决方法分享
2014/02/11 PHP
CI配置多数据库访问的方法
2016/03/28 PHP
js 表单验证方法(实用)
2009/04/28 Javascript
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
JavaScript高级程序设计 扩展--关于动态原型
2010/11/09 Javascript
jquery日历控件实现方法分享
2014/03/07 Javascript
JS获取客户端IP地址、MAC和主机名的7个方法汇总
2014/07/21 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
jquery实现textarea 高度自适应
2015/03/11 Javascript
JQuery勾选指定name的复选框集合并显示的方法
2015/05/18 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
2015/10/10 Javascript
移动端触屏幻灯片图片切换插件idangerous swiper.js
2017/04/10 Javascript
学习使用Bootstrap输入框、导航、分页等常用组件
2017/05/11 Javascript
JS非空验证及邮箱验证的实例
2017/08/11 Javascript
js实现1,2,3,5数字按照概率生成
2017/09/12 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
2018/03/13 Javascript
Vue3.0的优化总结
2020/10/16 Javascript
使用Python的Supervisor进行进程监控以及自动启动
2014/05/29 Python
python对数组进行反转的方法
2015/05/20 Python
机器学习python实战之手写数字识别
2017/11/01 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
2020/04/08 Python
pycharm导入源码的具体步骤
2020/08/04 Python
小女主人连衣裙:Little Mistress
2017/07/10 全球购物
爱奇艺VIP会员:大剧抢先看
2018/07/11 全球购物
SQL中where和having的区别
2012/06/17 面试题
自我鉴定范文
2013/11/10 职场文书
医学院校毕业生自荐信范文
2014/01/01 职场文书
工作表现评语
2014/01/19 职场文书
房屋维修协议书范本
2014/09/25 职场文书
旷课检讨书范文
2014/10/30 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
WCG2010 星际争霸决赛 Flash vs Goojila 1 星际经典比赛回顾
2022/04/01 星际争霸