python將多個(gè)文本文件合并為一個(gè)文本的代碼(便于搜索)
更新時(shí)間:2011年03月13日 13:14:54 作者:
源代碼目錄一般很詳細(xì),每個(gè)代碼文件都不長(zhǎng),一般只占幾十行而已。在跟著書(shū)籍學(xué)習(xí)的過(guò)程中,可以打開(kāi)源代碼運(yùn)行之后查看效果,或者適當(dāng)修改看看變化,這都是很好的掌握技術(shù)的好辦法。
但是,當(dāng)一本書(shū)學(xué)過(guò)之后,對(duì)一般的技術(shù)和函數(shù)都有了印象,突然想要查找某個(gè)函數(shù)的實(shí)例代碼時(shí),卻感到很困難,因?yàn)橐槐緯?shū)的源代碼目錄很長(zhǎng),往往有幾十甚至上百個(gè)源代碼文件,想要找到自己想要的函數(shù)實(shí)例談何容易?
所以這里就是要將所有源代碼按照目錄和文件名作為標(biāo)簽,全部合并到一處,這樣便于快速的搜索。查找,不是,那么查找下一個(gè)……于是很快便可以找到自己想要的實(shí)例,非常方便。當(dāng)然,分開(kāi)的源代碼文件依然很有用,同樣可以保留。合并之后的源代碼文件并不大,n*100KB而已,打開(kāi)和搜索都是很快速的。大家可以將同一種編程語(yǔ)言的所有實(shí)例通過(guò)這種方法全部合并為一個(gè)文件,搜索的效率就會(huì)大大提高。
注意:保存代碼之后,將源文件復(fù)制到目錄下,同一目錄下的所有目錄和其子目錄都會(huì)被搜索;你可以加上后綴限定,只獲取某種格式的文件的內(nèi)容即可;源代碼如下,請(qǐng)復(fù)制后保存:
# -*- coding: utf-8 -*-
import os,sys
info = os.getcwd()
fout = open('note.tpy', 'w') # 合并內(nèi)容到該文件
def writeintofile(info):
fin = open(info)
strinfo = fin.read()
# 利用##作為標(biāo)簽的點(diǎn)綴,你也可以使用其他的
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的文件內(nèi)容合并
writeintofile(info)
fout.close()
如果你不想合并內(nèi)容,只想獲得一個(gè)文件名的清單文件,也可以。這里給你代碼。例如,有的作者就會(huì)使用這個(gè)功能為自己生成一個(gè)源代碼文件清單,很實(shí)用。
源代碼為:
# -*- coding: utf-8 -*-
'''
本程序自動(dòng)搜索指定的目錄,
打印所有文件的完整文件名到指定的文件中
'''
import os,sys
export = ""
i=1
for root, dirs, files in os.walk(r'..'):
#r'.'表示當(dāng)前目錄中的所有清單
#..表示平行的其他目錄,多出很多內(nèi)容
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()
所以這里就是要將所有源代碼按照目錄和文件名作為標(biāo)簽,全部合并到一處,這樣便于快速的搜索。查找,不是,那么查找下一個(gè)……于是很快便可以找到自己想要的實(shí)例,非常方便。當(dāng)然,分開(kāi)的源代碼文件依然很有用,同樣可以保留。合并之后的源代碼文件并不大,n*100KB而已,打開(kāi)和搜索都是很快速的。大家可以將同一種編程語(yǔ)言的所有實(shí)例通過(guò)這種方法全部合并為一個(gè)文件,搜索的效率就會(huì)大大提高。
注意:保存代碼之后,將源文件復(fù)制到目錄下,同一目錄下的所有目錄和其子目錄都會(huì)被搜索;你可以加上后綴限定,只獲取某種格式的文件的內(nèi)容即可;源代碼如下,請(qǐng)復(fù)制后保存:
復(fù)制代碼 代碼如下:
# -*- coding: utf-8 -*-
import os,sys
info = os.getcwd()
fout = open('note.tpy', 'w') # 合并內(nèi)容到該文件
def writeintofile(info):
fin = open(info)
strinfo = fin.read()
# 利用##作為標(biāo)簽的點(diǎn)綴,你也可以使用其他的
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的文件內(nèi)容合并
writeintofile(info)
fout.close()
如果你不想合并內(nèi)容,只想獲得一個(gè)文件名的清單文件,也可以。這里給你代碼。例如,有的作者就會(huì)使用這個(gè)功能為自己生成一個(gè)源代碼文件清單,很實(shí)用。
源代碼為:
復(fù)制代碼 代碼如下:
# -*- coding: utf-8 -*-
'''
本程序自動(dòng)搜索指定的目錄,
打印所有文件的完整文件名到指定的文件中
'''
import os,sys
export = ""
i=1
for root, dirs, files in os.walk(r'..'):
#r'.'表示當(dāng)前目錄中的所有清單
#..表示平行的其他目錄,多出很多內(nèi)容
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()
相關(guān)文章
python學(xué)習(xí)之可迭代對(duì)象、迭代器、生成器
這篇文章主要介紹了python學(xué)習(xí)之可迭代對(duì)象、迭代器、生成器,需要的朋友可以參考下2021-04-04python selenium UI自動(dòng)化解決驗(yàn)證碼的4種方法
本篇文章主要介紹了python selenium UI自動(dòng)化解決驗(yàn)證碼的4種方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01Python之關(guān)于類變量的兩種賦值區(qū)別詳解
這篇文章主要介紹了Python之關(guān)于類變量的兩種賦值區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03使用python制作一個(gè)為hex文件增加版本號(hào)的腳本實(shí)例
今天小編就為大家分享一篇使用python制作一個(gè)為hex文件增加版本號(hào)的腳本實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06Python Pandas pandas.read_sql_query函數(shù)實(shí)例用法分析
在本篇文章里小編給大家整理的是一篇關(guān)于Python Pandas pandas.read_sql_query函數(shù)實(shí)例用法分析內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)下。2021-06-06