擅长:python、mysql、java
<p>在unix和windows上识别换行符的细微差别(“\n”与“\r\n”)</p>
<P>让我们考虑以下内容的文件'TeX.txt(在Windows中)</p>
<pre><code>cat text.txt
welcome
to
stackoverflow
</code></pre>
<p>windows中的默认换行符为“\r\n”
现在,当您读取文件时,windows中此处的默认换行符“\r\n”将转换为“\n”(通用模式)</p>
<pre><code>>>>with open('text.txt','rt') as f: #Note Console (not using print(f.read())
f.read()
#output
'welcome\nto\nstackoverflow'
</code></pre>
<p>现在,open()的换行符参数出现了
默认情况下,由于上述原因,换行符为“无”\r\n“转换为”\n”</p>
<p>如果不需要转换为通用模式('\n'),则可以使用换行符=''来打开</p>
<pre><code>with open('text.txt','rt',newline='') as f:
f.read()
#output
'welcome\r\nto\r\nstackoverflow' (now 'r\n' not '\n')
</code></pre>
<p>此外,换行符只能为None或“”</p>