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

标签 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)

这将产生一个包含此类值的列表(注意'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']

假设我已经正确初始化了文件 BeforeAfterFinal,我应该如何删除这些换行符并添加空间?我更愿意在不使用许多库的情况下执行此操作。

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

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

最佳答案

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

Before.readline().strip()

然后,如果您想在 a+b 行中添加换行符,则需要按照您想要的方式显式格式化它。例如:

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

当您将 a 添加到列表时,您也只能对其执行 .strip() 。如此多的可能性!

关于python - 为什么在我的字符串末尾添加换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52826943/

相关文章:

python - 从嵌套字典中删除某些字段?

python - python中的目录文件导入错误

C:文件 I/O 循环遍历包含一组数字的文件以找到它们的平方、立方和平方根

python - 在python中使用分隔符拆分字符串

python - 如何使用python将各种字符串和数据连接在一起

java - 从文件系统中获取文件并将其作为 File 对象传递

java - 为什么输入流找不到类文件夹之外的文件

Python - 在追加模式下打开文件。写永远不会发生

python - 在 Python 中,为什么不能在使用 subprocess 创建文件后立即对其进行解析?

python - 查找 ValueError : need more than X values to unpack 的缺失值