【问题标题】:readlines gives me additional linebreaks python2.6.5readlines 给了我额外的换行符 python2.6.5
【发布时间】:2014-04-13 17:10:35
【问题描述】:

以下代码有问题:

file = open("file.txt", "r")
lines = file.readlines()
print lines[0]
print lines[1]
print lines[2]
file.close()

这段代码给了我行之间的换行符。所以输出是这样的:

line0

line1

line2

如何解决?

【问题讨论】:

  • 打印行[0].strip()
  • 试试lines[0].strip()

标签: python file line break readlines


【解决方案1】:

print 添加换行符。从行中删除换行符:

print lines[0].rstrip('\n')
print lines[1].rstrip('\n')
print lines[2].rstrip('\n')

如果您将整个文件读入列表无论如何,另一种方法是使用str.splitlines()

lines = file.read().splitlines()

默认情况下同时从行中删除换行符。

【讨论】:

  • 嗯,好的。谢谢。这对我来说是新的。 strip 和 rstrip 有什么区别,因为它们都对我有用?
  • @user3402107 为什么不直接阅读文档(rstripstrip
  • 感谢您的链接。我是 Python 和 Python 社区的新手。显然我对文档的工作还不够好。 (;
【解决方案2】:

在每一行之后执行strip。文件有新行作为最后一个字符。阅读时必须将其删除。

print line[index].strip()

【讨论】:

    【解决方案3】:

    readlines() 将返回一个行数组。每行都以换行符结束。

    如果要打印块中的所有行,只需执行以下操作:

    with open("file.txt", "r") as file:
        lines = file.readlines()
        print "".join(lines)
    

    使用with,您可以保存file.close()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多