首页 > 解决方案 > 为什么在我的字符串末尾添加换行符?

问题描述

我有一个小问题。我注意到,由于某种原因,当我+在连接两个变量时使用符号时,Python 会自动使用换行符。

for i in range(o):
    a = Before.readline()
    b = After.readline()
    if a == b:
        lines.append(" \n")
    else:
        plus = a + b
        lines.append(a + b)

Final.writelines(lines)

这将产生一个包含此类值的列表(注意'B\nC\n'

[' \n', ' \n', ' \n', ' \n', ' \n', ' \n', ' \n', ' \n', ' \n', ' \n', ' \n', ' \n',
 ' \n', ' \n', ' \n', ' \n', ' \n', ' \n', ' \n', ' \n', ' \n', ' \n', ' \n', ' \n',
 'B\nC\n', ' \n', ' \n', ' \n', ' \n', ' \n', ' \n', ' \n', ' \n']

假设我已经正确初始化了 files BeforeAfterFinal,我应该怎么做才能删除这些换行符并只添加一个空格?我宁愿在不使用很多库的情况下这样做。

编辑:我确实知道这种.strip()方法。删除新行确实很有帮助。但是,我的问题似乎有点错误。我还想知道如何添加新行,因为a + ' ' + b它似乎并没有真正起作用。我该怎么做?

双重编辑:我很愚蠢。我把错误的变量放在附加区域。没关系,无论如何,谢谢!

标签: pythonfile-io

解决方案


Before.readline()After.readline()在您正在阅读的文件中包含换行符。要删除尾随的换行符和空格,您可以:

Before.readline().strip()

然后,如果你想在你的行中添加换行符a+b,你需要以任何你想要的方式明确地格式化它。例如:

  • a + ' ' + b
  • "{} {}".format(a,b)
  • a + b + "\n"
  • ETC

您也只能.strip()a将其添加到列表时执行。这么多的可能性!


推荐阅读