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

2024-09-30 10:31:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用以下代码:

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

如果我运行这个程序,它会打印出必要的行,但是在它们之间有一条我不想要的空行。我该如何解决这个问题


Tags: 代码in程序txtforiflineopen
2条回答

这是因为line的最后一个字符是\n,也就是换行符

要防止这种情况发生,请执行以下操作

print(line, end='')

默认的end\n,因此在默认情况下,添加两行新行(一行在字符串中,一行在打印结束处)


这意味着我上面提供的解决方案相当于

print(line[:-1])

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

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

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

print(line.strip())

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

print(line.rstrip())

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

print(line.lstrip())

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

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

相关问题 更多 >

    热门问题