如何在Python中向文件描述符写入原生换行符?

50 投票
2 回答
43771 浏览
提问于 2025-04-15 13:21

os.write 函数可以用来将字节写入一个 文件描述符(而不是文件对象)。如果我执行 os.write(fd, '\n'),那么在文件中只会写入换行符(LF),即使是在Windows系统上。我希望在Windows系统的文件中写入回车换行符(CRLF),而在Linux系统中只写入换行符(LF)。
有什么好的方法可以实现这个目标吗?

我使用的是Python 2.6,但我也想知道Python 3是否有不同的解决方案。

2 个回答

8

那用 os.write(<文件描述符>, os.linesep) 呢?(这里不需要再写 import os,因为你看起来已经导入过了,否则你一开始用 os.write 就会出错。)

91

使用这个

import os
os.write(fd, os.linesep)

撰写回答