ホームページ  >  記事  >  バックエンド開発  >  複数のテキストファイルを 1 つのテキストにマージする Python コード (検索が簡単)

複数のテキストファイルを 1 つのテキストにマージする Python コード (検索が簡単)

WBOY
WBOYオリジナル
2016-06-16 08:47:151312ブラウズ

しかし、書籍を読んだ後、一般的な技術や機能の印象があり、ある機能のサンプルコードを見つけたいと思った場合、書籍のソースコードディレクトリは非常に長く、多くの場合、ソースコードディレクトリが非常に長いため、非常に困難です。ソース コード ファイルは数十、場合によっては数百もあります。必要な関数インスタンスを見つけるのはどのくらい簡単ですか?

そこで、ディレクトリとファイル名をタグとして、すべてのソース コードを 1 か所にマージして、迅速な検索を容易にします。検索、いや次を検索…すると目的の インスタンス がすぐに見つかるのでとても便利です。もちろん、個別のソース コード ファイルは依然として有用であり、保持できます。マージされたソース コード ファイルは大きくなく、わずか n*100KB であり、開いたり検索したりするのが非常に高速です。この方法を使用すると、同じプログラミング言語のすべてのインスタンスを 1 つのファイルにマージでき、検索効率が大幅に向上します。

注: コードを保存した後、ソース ファイルをディレクトリにコピーすると、同じディレクトリ内のすべてのディレクトリとサブディレクトリが検索され、特定の形式のファイルの内容のみを取得するようにサフィックス制限を追加できます。以上です。ソース コードは次のとおりです。コピーして保存してください:

コードをコピー コードは次のとおりです:

# -*- コーディング: 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# #nn')
fout.write(strinfo)
fin.close()


os.walk(info) のルート、ディレクトリ、ファイル:
if len( dirs)==0:
ファイル内の fl の場合:
info = "%s%s" % (root,fl)
if info[-2:] == 'py' : # サフィックスが付いているファイルの内容のみをマージします py
writeintofile(info)

fout.close()

内容をマージしたくない場合は、ファイル名 のマニフェスト ファイルを取得したいだけです。これも利用可能です。ここにコードがあります。たとえば、作成者によってはこの関数を使用して自分用のソース コード ファイル リストを生成することがありますが、これは非常に実用的です。

ソース コードは次のとおりです:
コードをコピーします コードは次のとおりです:

# -*-コーディング: utf- 8 -*-
'''
このプログラムは指定されたディレクトリを自動的に検索し、
すべてのファイルの完全なファイル名を指定されたファイルに出力します
'''
import os,sys
export = ""
i=1
for root, dirs, files in os.walk(r'..'):
#r'.' は、現在のディレクトリ
#..多くの追加コンテンツを含む他の並列ディレクトリを表します
export += "--%s--n%snn%snn" % (i,root,'n'.join( files))
i=i+1
fp = open('cdcfile-4.txt', 'w')
fp.write(export)
fp.close()
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。