平台无关的文件写入方式

0 投票
1 回答
532 浏览
提问于 2025-04-17 22:15
def writeFile(filename):
    prose = r"<?xml version='1.0' encoding='UTF-8'?>"
    startTag = r'<Books>'
    endTag = r'</Books>'
    with open(filename, "+a" ) as f:
        f.write(prose)
        f.write('\n')
        f.write(startTag)
        f.write('\n')
        f.write(endTag)

我该如何让这个函数在不同的平台上都能使用,这样它在Windows和Linux/Unix上都能正常工作呢?因为在Windows上,换行符是/n。

我现在使用的是Python 3.3。

1 个回答

6

你需要看看 os 这个模块。特别是要关注 os.linesepos.sep

os.linesep 会给你正确的换行符,你不需要去检查平台或操作系统的版本。

os.sep 会给你路径中各部分的分隔符,同样,你也不需要去检查平台或操作系统的版本。

撰写回答