为什么在我的字符串末尾添加换行符?

Shr*_*ran 2 python file-io

我有一个小问题.我注意到,由于某种原因,当我+在连接两个变量时使用符号时,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)
Run Code Online (Sandbox Code Playgroud)

这将导致列表中包含这样的值(注意'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']
Run Code Online (Sandbox Code Playgroud)

假设我已经初始化了文件Before,After并且Final正确地说,我该怎么做才能删除这些换行符并添加一个空格?我宁愿这样做而不使用很多库.

编辑:我知道这个.strip()方法.删除新行确实非常有用.但是,我似乎说我的问题有点不对劲.我想知道如何添加新线路,因为a + ' ' + b这似乎没有用.我该怎么做?

DOUBLE EDIT:我很蠢.我把错误的变量放在附加区域.没关系,谢谢!

LTC*_*ipp 5

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

Before.readline().strip()

然后,如果要a+b在行中添加换行符,则需要以您想要的任何方式明确地将其格式化.例如:

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

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