【问题标题】:How to write native newline character to a file descriptor in Python?如何将本机换行符写入 Python 中的文件描述符?
【发布时间】:2009-08-03 16:30:43
【问题描述】:

os.write 函数可用于将字节写入文件描述符(不是文件对象)。如果我执行 os.write(fd, '\n'),即使在 Windows 上,也只会将 LF 字符写入文件。我想在 Windows 上的文件中有 CRLF,而在 Linux 中只有 LF。
实现这一目标的最佳方法是什么?

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

【问题讨论】:

  • os.write 需要 FD 作为它的第一个参数——请解决这个问题!不,Python 3 并没有本质上的不同(除了它需要字节串,而不是文本——在 Python 3 中总是 Unicode——在 os.whatever 调用中)。

标签: python


【解决方案1】:

使用这个

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

【讨论】:

  • 不想使用os.write也可以file = open("filename", "<read/write flag>"); file.write(os.linesep)
【解决方案2】:

os.write(<file descriptor>, os.linesep) 怎么样? (import os 是不必要的,因为您似乎已经导入了它,否则一开始使用 os.write 会出错。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-08
    • 2019-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多