【问题标题】:Dealing with \n delimiter when reading flies in Python在 Python 中读取苍蝇时处理 \n 分隔符
【发布时间】:2015-03-20 17:30:37
【问题描述】:

每次我在 Python 中使用以下代码读取文本文件时,每一行(最后一行除外)都以 \n 分隔符结尾。

lines = open('the_file.txt').readlines()

然后,我不得不使用以下方法解决此问题:

for i in range(len(lines)):
    lines[i] = lines[i].replace('\n', '')

有没有更简洁的方法来做到这一点,这样我就不必使用这个 hacky 修复来摆脱所有的 \n 实例?

【问题讨论】:

  • 这个 hacky 修复甚至不起作用。
  • 使用for line in file: process_line()逐行处理文件
  • 您可以在这里找到答案:stackoverflow.com/questions/544921/…
  • 由于垃圾回收,您无法分配 for 循环计数器的值。
  • 这也不会关闭打开的文件,直到退出范围。最好使用with 块。

标签: python file text


【解决方案1】:

使用列表推导:

lines = open('the_file.txt').readlines()
lines = [line.strip() for line in lines]

【讨论】:

  • strip 从字符串中删除多余的空格和换行符。
  • rstrip('\n') 会更合适;使用您的代码,它还会从行首删除任何空格;这可能不是我们想要的。
  • 也许,但在删除换行符的上下文中,Ryan 似乎也想删除空格。
猜你喜欢
  • 1970-01-01
  • 2016-11-11
  • 1970-01-01
  • 2018-11-04
  • 1970-01-01
  • 2021-11-14
  • 2022-08-11
  • 2019-07-02
  • 1970-01-01
相关资源
最近更新 更多