python中列表输出的值不换行_Python中打印输出不换行,始终保持一行

本文介绍了如何在Python中让列表输出始终在同一行不换行。通过在`print`语句末尾添加逗号或者使用` `字符来更新而不是创建新的行,实现了下载进度条效果。
摘要由CSDN通过智能技术生成

【问题】

对于之前一个函数:

#---------------------------------------------------------------------------

# note: totalFileSize -> may be -1 on older FTP servers which do not return a file size in response to a retrieval request

def reportHook(copiedBlocks, blockSize, totalFileSize) :

#global downloadingFile

if copiedBlocks == 0 : # 1st call : once on establishment of the network connection

print 'Begin to download %s, total size=%d'%(downloadingFile, totalFileSize);

else : # rest call : once after each block read thereafter

print 'Downloaded bytes: %d' % ( blockSize * copiedBlocks);

return;

#--------------------------------------------------------------------------- 中间包含打印,但是是每次打印一行后,就换行了,效果如下:

Downloaded bytes: 8192

Downloaded bytes: 16384

Downloaded bytes: 24576

Downloaded bytes: 32768

Downloaded bytes: 40960

Downloaded bytes: 49152

Downloaded bytes: 57344

Downloaded bytes: 65536

Downloaded bytes: 73728

Downloaded bytes: 81920

Downloaded bytes: 90112

Downloaded bytes: 98304

Downloaded bytes: 106496

Downloaded bytes: 114688

Downloaded bytes: 122880

Downloaded bytes: 131072

Downloaded bytes: 139264

现在希望,可以像有的程序输出一样,始终保持同一行,即新打印出来的一行,替换掉之前的那行,保持同一行,不换行。

【解决过程】

1.尝试了:

print 'Downloaded bytes: %d\r' % ( blockSize * copiedBlocks);

结果不行。

2.后来改为:

print 'Downloaded bytes: %d\r' % ( blockSize * copiedBlocks),; 就可以了,就可以保持,始终是显示在同一行:

Downloaded bytes: 90112 效果还是不错的:

【总结】

想要print始终显示在同一行,本身是在最后加上逗号即可,即:

print "xxx",

然后又想要实现,新打印的一行,冲掉之前旧的一行,达到显示出下载文件大小一点点增加,但是却始终保持同行,那么就再打印的内容最后添加上\r即可:

print "xxx\r",

注:

对于\r不熟悉的,可以参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值