Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 输出被打印,但它有一个额外的空行_Python - Fatal编程技术网

Python 输出被打印,但它有一个额外的空行

Python 输出被打印,但它有一个额外的空行,python,Python,我正在尝试这个简单的代码来打印一个带有if条件的txt文件。 代码工作正常,但当输出被打印出来时,它有一个额外的空行。如何解决这个问题 with open('test.txt') as file: for line in file: if 'Efficient AP Image Upgrade ..... Enabled' in line: break print(line) 第行中的行末尾包含换行符。要避免使用print函数添加

我正在尝试这个简单的代码来打印一个带有if条件的txt文件。 代码工作正常,但当输出被打印出来时,它有一个额外的空行。如何解决这个问题

with open('test.txt') as file:
    for line in file:
        if 'Efficient AP Image Upgrade ..... Enabled' in line:
            break
        print(line)

中的行末尾包含换行符。要避免使用
print
函数添加另一个换行符(默认行为),应调用
print('line',end='')
指定您不需要额外的换行符。

您可能正在对已经有最后一个换行符的字符串使用
print
——事实上,现在问题已经解决了,我们可以看到这种情况,因为您在
文件上使用了迭代器,这将产生一系列以换行符结尾的行(如果输入文件中没有换行符,则最后一行可能除外)

请注意,在数据项之后,
print
函数将默认写入额外的换行符(更具体地说,它将写入默认为换行符的
end
参数指定的值)

可能的办法:

使用
sys.stdout.write
(不追加换行符):

使用
print
,但将其设置为写入空字符串,而不是在末尾换行:

print(text, end='')

在打印之前删除任何新行(原则上,这可能包括在字符串中间的换行符,但因为您的字符串来自迭代器在文件对象上,不应该有任何):< /P> 打印前请删除任何前导或尾随空格(包括换行符)-请注意,这可能包括其他空格:

print(text.strip())
print()默认情况下,在执行该命令时创建新行。请注意,尝试使用

print(line,end='')


要删除尾随新行,可以从行的右侧剥离新行:

打印(text.rstrip('\n'))

print(text.strip())
print(line,end='')
print(line,end=' ')