我有一个功能是从一个目录合并某些文件
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
谢谢你。