`
totoxian
  • 浏览: 1107505 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

一个python处理dos和unix格式文本的换行的问题

阅读更多

看到以前limod写的一篇文章,

说python读纯文本已经将\r,\r\n,\n全部用\n来处理了。但我的系统中好像并没有这样。
我在ubuntu下面,Python 2.6.4

读写方式如下:
>>> data = open('dosfile.txt','r').read()
>>> print data
结果看到换行还是\r\n.
这样,我处理文本时如果想通过\n\n(两个换行)来作为分段的话,对dos格式的无效。
items = data.split('\n\n')就并不能达到我想分的段。

lines = data.splitline()倒能正确处理\r\n为\n,分行正确.但这不是我想要的。

执行:
if hasattr(open, 'newlines'):
print 'We have universal newline support'
我的没打印,说明没有设置open的
universal newline support
但不知在哪里设。

所以我用
open('dostext.txt','rU').read()解决了该问题。
在打开参数中,'rb'肯定是不会转的,'rU'是会转的。U不能和+,w等mode参数配。

==========
参考:
http://en.wikipedia.org/wiki/Newline
http://www.python.org/dev/peps/pep-0278/
http://bugs.python.org/issue6759
分享到:
评论
1 楼 y5ljue 2012-01-11  
            非常感谢、、、困惑了半天终于解决了、、、

相关推荐

    dos2unix_6.0.3

    【dos2unix_6.0.3】是一个用于在不同操作系统之间进行文本文件格式转换的实用程序,尤其针对从DOS或Windows系统到UNIX或Linux系统的情况。这个工具的主要功能是将那些使用CRLF(回车换行)作为行结束符的DOS/Windows...

    dos2unix-5.3-win32.zip

    【标题】dos2unix-5.3-win32.zip是一个针对Windows操作系统的压缩包,它包含了一款名为dos2unix的工具,该工具主要用于在Windows和Linux之间进行文本格式的转换。 【描述】dos2unix的主要功能是将Windows环境下创建...

    dos2unix PyYAML cheettemplate

    标题中的“dos2unix PyYAML cheettemplate”提到了三个关键组件,它们分别是...总的来说,这个压缩包提供了一个包含dos2unix、PyYAML和Cheetah的环境,适合于需要跨平台文本处理、YAML配置管理和动态文本生成的项目。

    unix和windows文件格式互相转化

    "ChangeFileFormat.py" 是一个Python脚本,提供了更灵活和强大的文件格式转换功能。Python中可以使用内置的`open()`函数配合不同的模式来读写文件,并通过操作字符串来改变行结束符。例如,可以使用以下代码将LF转换...

    回车和换行的区别 回车和换行的区别

    在计算机科学领域,文本处理和数据格式化是基础且关键的部分。其中,“回车”(Carriage Return,CR)和“换行”(Line Feed,LF)是两种用于表示文本行结束并开始新行的控制字符,它们在不同的操作系统中扮演着重要...

    windows 中 \r\n 区别于 类unix中的\n 疑问说明

    Python中的`universal_newlines`模式就是一个很好的例子,它允许读取文本时自动识别CR、LF和CRLF,并将它们统一为Python内部使用的"\n"。 在文件系统层面,一些具有高级功能的操作系统允许用户设置文件的行尾表示,...

    Windows 记事本替代工具 Notepad3 5.21.227.1 + x64.zip

    此外,Notepad3 具有以下功能:代码折叠,括号匹配,自动缩进,字自动完成,转换各种格式(ASCII,UTF-8和UTF-16)之间的字符编码,换行格式转换(在 DOS 之间(CR/LF),Unix(LF)和 Macintosh(CR)格式),多个...

    串口十进制输出.docx

    在这个例子中,我们可能正在处理一个基于UART的串口通信。 2. **字符输出函数`putchar()`**: `putchar()`函数是C语言中用于向标准输出设备(通常是显示器)发送一个字符的函数。在给定的代码中,它被重定义为`void...

Global site tag (gtag.js) - Google Analytics