擅长:python、mysql、java
<p><code>writelines</code>期望每个字符串以换行符结尾。所以你需要:</p>
<pre><code>file.writelines([sname + '\n', senemyname + '\n', scheckpoint + '\n'])
</code></pre>
<p>从<a href="https://docs.python.org/3/library/io.html#io.IOBase.writelines" rel="nofollow noreferrer">the python docs</a>:</p>
<blockquote>
<p><strong><code>writelines</code></strong>(<em>lines</em>)</p>
<p>Write a list of lines to the stream. Line separators are not added, so it is usual for each of the lines provided to have a line separator at the end.</p>
</blockquote>
<p>但通常来说,做<code>file.write('\n'.join([sname, senemyname, scheckpoint))</code>更为惯用。注意,这并没有添加文件换行符</p>
<p>您还应该为文件使用上下文,因为如果引发异常,您可能无法关闭文件:</p>
<pre><code>with open('savefile.sav', 'w') as f:
f.write('\n'.join([sname, senemyname, scheckpoint]))
</code></pre>