ディレクトリから特定のファイルをマージする機能があります
def merge(path):
f = open("indexFile","w")
for path,directory,files in os.walk(path):
for file in files:
f1 = open(os.path.join(path,file))
createCatFile(f1.read())
print "merging files"
shutil.copyfileobj(f1, f)
f1.close()
f.close()
ファイル オブジェクトをコピーする前に、f1 の内容を関数に渡して処理を行います。問題は、indexFile が作成されているが、ファイルにデータがないことです。空のファイルです。createCatFile()
機能は期待どおりに完全に機能します。merge()
また、「ファイルのマージ」は、関数が呼び出された回数が出力されます。関数呼び出しを削除するとcreateCatFile()
、indexFile が正常に作成されます。
これに関する問題は何ですか?
createCatFile 関数は次のことを行います。
def createCatFile(wordtodocstr):
global offset
wordInfo = wordtodocstr.split()
term = wordInfo[0]
newtermid = wordInfo[1]
docList = wordInfo[2::2]
ctfList = [int(number) for number in wordInfo[3::2]]
docfr = len(docList)
wordctf = sum(ctfList)
catFileList = [term, newtermid, str(offset), str(wordctf), str(docfr)]
catFileJoin = " ".join(catFileList)
with open(path2+term, "w") as foutterm:
foutterm.write(catFileJoin)
foutterm.close()
offset+=1
ありがとうございました。