从txt文件打印会在两者之间留下一行

时间:2019-03-01 13:35:51

标签: python

我正在使用以下代码:

konto_fail = open("konto.txt")
for line in konto_fail:
    if float(line) > 0:
        print (line)

如果我运行该程序,它将打印出必要的行,但是它们之间有一个不需要的空行。我该如何解决?

2 个答案:

答案 0 :(得分:0)

这是因为line的最后一个字符是\n又名换行符。

为防止这种情况发生,请执行

print(line, end='')

默认的end\n,因此默认情况下,您添加了两行(在字符串中一行,在打印末尾一行)。


这意味着我上面提供的解决方案等效于

print(line[:-1])

您还可以通过执行以下操作删除所有换行符

print(line.replace('\n', ''))

删除所有尾随空格(包括换行符)

print(line.strip())

删除所有结尾的空格(包括换行符)

print(line.rstrip())

删除开头的所有尾随空格(包括换行符)

print(line.lstrip())

答案 1 :(得分:0)

用于打印的Python语法与其他语言不同。默认情况下,在下一行中打印下一个输出。因此,要对其进行更改,请将end=''(如果未指定,则end\n)作为函数print()

的最后一个属性
konto_fail = open("konto.txt")
for line in konto_fail:
    if float(line) > 0:
        print (line, end = '')