Python:指定读取文件的行尾格式
我正在编写一个处理文本文件的 Python 脚本。我希望处理由不同人在不同操作系统下工作生成的文件。有没有一种好方法可以找出哪个操作系统创建了文本文件,并指定行尾约定以使逐行解析变得简单?
I'm writing a Python script which processes a text file. I expect to process files generated from different people, working under different operating systems. Is there a nice way to figure out which OS created the text file, and specify the end-of-line convention to make parsing line-by-line trivial?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
打开文件时使用通用换行模式。
Use universal newline mode when opening the file.
splitlines()
处理各种行终止符:splitlines()
handles various line terminators:如果您不关心结束空格,那么:
'\n' 将处理 Linux / Mac,而 rstrip 将吃掉 Windows 中的任何 '\r'。
If you do not care about ending white space then:
'\n' will take care of Linux / Mac and rstrip will eat up any '\r' from Windows.
您想要使用 file.readlines() ,它返回包含文件中的行的列表。
请参阅有关 Python 文件对象的文档。
You want to use
file.readlines()
, which returns a list containing the lines in the file.See the documentation on Python file objects.