擅长:python、mysql、java
<p>如前所述,问题是输出文件在循环中被重复打开。解决方法是在进入循环之前打开输出文件。你知道吗</p>
<p>这里还有一个版本,使用<code>with</code>打开文件。使用此结构的优点是,当您完成操作或遇到异常时,它将自动为您关闭文件。你知道吗</p>
<pre><code> def printOutput(start, end, makeList):
if start == end == None:
return
else:
out_fname = 'out'+uniprotID+'.txt'
with open(out_fname, 'w') as outputFile:
while start <= end:
print start
print end
inRange = makeList[start]
start += 1
outputFile.write(inRange)
</code></pre>
<p>否则,您必须记住显式地用<code>outputFile.close()</code>关闭文件。你知道吗</p>