擅长:python、mysql、java
<p>看看你的循环:</p>
<pre><code>for ponto in inputtext:
saida="saida_"+arquivo
with open(saida, 'w') as saidatemp:
saidatemp.write(ponto.replace('. ','.\n'))
</code></pre>
<p>这会一次又一次地重新打开同一个文件,对输入文件的每一行打开一次。因为您是在<code>w</code>模式下打开它的,所以它会截断文件,删除您以前在那里编写的任何内容,并用(转换的)最新行替换它。因此,在循环结束时,输出文件只有输入文件的最后一行(已转换)。你知道吗</p>
<p>这可能永远都是错误的(虽然当我不知道你到底想做什么的时候很难说清楚)。但是在输入文件以空行结尾的情况下,它的错误将特别明显,因为输出文件中唯一的东西就是那空行。你知道吗</p>
<p>你可能想做的是:</p>
<pre><code>saida="saida_"+arquivo
with open(saida, 'w') as saidatemp:
for ponto in inputtext:
saidatemp.write(ponto.replace('. ','.\n'))
</code></pre>
<p>换言之,只需打开一次文件<em>,并不断向其写入新行。你知道吗</p>