我有简单的代码:
f = open('out.txt','w')
f.write('line1\n')
f.write('line2')
f.close()
Run Code Online (Sandbox Code Playgroud)
代码在Windows上运行并给出文件大小12 bytes
,而linux给出11 bytes
的原因是新行
在Linux中它是\n
胜利的\r\n
但在我的代码中,我将新行指定为\n
.问题是如何让python像\n
往常一样保持新行,而不是检查操作系统.
124*_*123 17
您仍然可以使用textmode并使用关键字参数newline强制换行换行符
f = open("./foo",'w',newline='\n')
Run Code Online (Sandbox Code Playgroud)
用Python 3.4.2测试.
编辑:这在Python 2.7中不起作用.
Leo*_*rdo 11
这是一个旧答案,但该io.open
函数允许您指定行结尾:
import io
with io.open('tmpfile', 'w', newline='\r\n') as f:
f.write(u'foo\nbar\nbaz\n')
Run Code Online (Sandbox Code Playgroud)
来自: https: //stackoverflow.com/a/2642121/6271889
归档时间: |
|
查看次数: |
120364 次 |
最近记录: |