我正在编写一个 python(2.7) 脚本,它编写一个文件并且必须在 linux、windows 甚至 osx 上运行。不幸的是,对于兼容性问题,我必须在 windows 样式中使用回车和换行。如果我假设可以吗:
str = someFunc.returnA_longText()
with open('file','w') as f:
if os.name == 'posix':
f.write(str.replace('\n','\r\n'))
elif os.name == 'nt'
f.write(str)
我必须考虑其他人吗?os.name 有其他选择('posix'、'nt'、'os2'、'ce'、'java'、'riscos')。我应该改用平台模块吗?
更新1:
目标是在任何操作系统中使用 '\r\n'。
我正在接收来自的 str
str = etree.tostring(root, pretty_print=True, xml_declaration=True, encoding='UTF-8')
我不是在读文件。
3. 我的错,我应该检查 os.linesep 吗?