如何在Python进度条字符串中添加空格分隔进度块与百分比数值
进度条添加块与百分比分隔空格方案
问题说明
当前使用的下载进度条实现代码:
etichetta_download_mp3["text"] = '\r' + 'Download : %s%s%.2f%% ' % ('█' * int(size * 20 / contentsize), '' * (20 - int(size * 20 / contentsize)), float(size / contentsize * 100))
代码里格式化字符串直接把进度块和百分比数值拼接在一起,没有留分隔空间,导致实心█块末尾和百分比紧贴,辨识度差。
补充:原代码第二个占位符对应的填充值是空字符串'',无论乘多少数值结果都为空,因此进度条总长度会随进度变化,不会固定为20字符。
修改方式
核心改动非常简单:在格式化字符串的第二个%s(进度块占位符)和%.2f%%(百分比占位符)之间加一个半角空格即可。
如果想要同时修复进度条长度不固定的问题,可以把第二个填充项的空字符串换成半角空格,最终代码如下:
etichetta_download_mp3["text"] = '\r' + 'Download : %s%s %.2f%% ' % ( '█' * int(size * 20 / contentsize), ' ' * (20 - int(size * 20 / contentsize)), float(size / contentsize * 100) )
如果不需要固定进度条长度,只想加分隔空格,用最简改法就行:
etichetta_download_mp3["text"] = '\r' + 'Download : %s%s %.2f%% ' % ('█' * int(size * 20 / contentsize), '' * (20 - int(size * 20 / contentsize)), float(size / contentsize * 100))
效果
修改后进度块结尾和百分比之间会固定保留1个半角空格的间距,视觉分隔清晰;同步替换填充空格后,进度条会保持固定20字符长度,显示更规整。
内容的提问来源于stack exchange,提问作者Forty966699669
相关产品推荐
相关产品推荐

