Python:指定读取文件的行尾格式

发布于 2024-10-06 07:36:52 字数 101 浏览 13 评论 0原文

我正在编写一个处理文本文件的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

ま柒月 2024-10-13 07:36:53

打开文件时使用通用换行模式。

with open('input.txt', 'rU') as fp:
  for line in fp:
    print line

Use universal newline mode when opening the file.

with open('input.txt', 'rU') as fp:
  for line in fp:
    print line
变身佩奇 2024-10-13 07:36:53

splitlines() 处理各种行终止符:

>>> 'foo\nbar'.splitlines()
['foo', 'bar']
>>> 'foo\rbar'.splitlines()
['foo', 'bar']
>>> 'foo\r\nbar'.splitlines()
['foo', 'bar']

splitlines() handles various line terminators:

>>> 'foo\nbar'.splitlines()
['foo', 'bar']
>>> 'foo\rbar'.splitlines()
['foo', 'bar']
>>> 'foo\r\nbar'.splitlines()
['foo', 'bar']
长梦不多时 2024-10-13 07:36:53

如果您不关心结束空格,那么:

for line in [l.rstrip() for l in open('test.py').read().split('\n')]:
    print line

'\n' 将处理 Linux / Mac,而 rstrip 将吃掉 Windows 中的任何 '\r'。

If you do not care about ending white space then:

for line in [l.rstrip() for l in open('test.py').read().split('\n')]:
    print line

'\n' will take care of Linux / Mac and rstrip will eat up any '\r' from Windows.

尛丟丟 2024-10-13 07:36:53

您想要使用 file.readlines() ,它返回包含文件中的行的列表。

lines = open('info.txt').readlines()
for line in lines:
    print line

请参阅有关 Python 文件对象的文档。

You want to use file.readlines(), which returns a list containing the lines in the file.

lines = open('info.txt').readlines()
for line in lines:
    print line

See the documentation on Python file objects.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文