python print函数实现不换行行首打印
https://blog.csdn.net/lch551218/article/details/105446636
python中的print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
函数的参数说明如下:
参数 | 说明 |
---|---|
objects | 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。 |
sep | 用来间隔多个对象,默认值是一个空格。 |
end | 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。 |
file | 要写入的文件对象。 |
flush | 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。 |
这里着重解释一下 end 和 flush 参数:
end
参数默认为\n
这就是为什么我们每次调用 print() 函数时都会在新的一行打印。如果我们将 end设置成""
(end=""
),则多次调用print()函数都会在同一行打印;如果我们将end设置成"\r"
(end="\r"
),则每次调用print()函数不仅会在同一行打印,并且每次都会回到当前行首位打印,并且会覆盖上次打印内容,通过一个例子来说明就很好理解了:
print("aaaaaaaa",end = '\r',flush = True)
print("***",end = '\r',flush = True)
# 输出为:
***
- 1
- 2
- 3
- 4
- 5
但是通过pyinstaller 打包或运行在服务器上的话 会输出如下结果:
***aaaaaaaaaaaa