首页 > 教育学习 > 为什么 > Python换行符问题:\r\n还是\n?

Python换行符问题:\r\n还是\n?
2012-01-19 20:03:20   来源:   点击:

    Python换行符问题:\r\n还是\n?执行以下Python代码:fn = "test.txt"file(fn, "w+").write("test\ntest2")content = file(fn, "r").read()print content.replace("\r", "\\r").replace("\n", "\\n")打印的结果不依赖平台,都是:test\ntest2但是test.txt的内容却依赖平台而变化(用notepad++、vi等程序查看):windows下是:test\r\ntest2linux下却是:test\ntest2我想问的问题是,如何保证Python写入文件的"\n"字符不随平台变化,即保证一定是"\n"?

    3 个答案

    • 答案 1:

      file(fn, "w+").write("test\ntest2") 改成file(fn, "wb+").write("test\ntest2")就行了。Windows 平台上 Python 区分 Binary 和 ASCII 模式。ASCII 模式下换行符会在读写时自动换为 \r\n (详见 [1])。*nix 平台下没有这个区别。[1]: docs.python.org/tutorial...
    • 答案 2:

      这不是python的问题,windows的换行是\r\n,unix的是\n,mac的是\r。
    • 答案 3:

      我知道的一点是:CLRF结尾的文件可以用【dos2unix】命令转换为RF结尾的文件。

相关热词搜索:

上一篇:有谁做过动态站点php,asp ^_^ 已经发布的留个网址,互相学习一下。
下一篇:林夕写的词,你最喜欢哪首?它好在哪里?