但是,當一本書學過之後,對一般的技術和函數都有了印象,突然想要尋找某個函數的執行個體代碼時,卻感到很困難,因為一本書的原始碼目錄很長,往往有幾十甚至上百個原始碼檔案,想要找到自己想要的函數執行個體談何容易?
所以這裡就是要將所有原始碼按照目錄和檔案名稱作為標籤,全部合并到一處,這樣便於快速的搜尋。尋找,不是,那麼尋找下一個……於是很快便可以找到自己想要的執行個體,非常方便。當然,分開的原始碼檔案依然很有用,同樣可以保留。合并之後的原始碼檔案並不大,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()