首页 > 解决方案 > 如何使用换行符写入文件并避免空行

问题描述

我正在尝试将编码数据写入文件并用换行符分隔每次运行。但是,执行此操作时,每次运行之间都会有一个空行 - 如下所示。

使用 .rstrip()/.strip() 仅在读取文件时才真正起作用-显然,在写入文件时不能直接使用它,因为它将所有数据写入单行。

cFile = open('compFile', 'w')
for i in range(num_lines):
    line = validLine()
    compressedFile.write(line + "\n")
cFile.close()

cFile = open('compFile', 'r')
for line in cFile:
    print(line)


# Empty space output:

023

034

045

# Desired output:

023
034
045

标签: pythonfilenewline

解决方案


如果您查看文本文件,我认为您已经做了您想做的事。

请注意,python 也会读取文件末尾的 \n ,并且 print() 在打印行的末尾创建一个换行符。

在您的情况下,这意味着您的文件应该看起来像

023\n

034\n

045\n

打印时,您首先读取 023\n ,然后像 python 使用 print() 函数一样,将 \n 附加到您的行中。

然后你有 023\n\n 你在你的控制台。但是在文件中你有你想要的。

如果您只想打印不带换行符,您可以使用

import sys
sys.stdout.write('.')

推荐阅读