[Python] 使用print作进度条(解决end=''时print不显示的问题)
Python 问题 使用 解决 显示 x27 进度条
2023-06-13 09:11:05 时间
0x00
Python的print()
末尾自带\n
,如果不想要末尾的\n
可以使用end=''
控制末尾的字符。
例如这样:
# 示例一
print("12",end='')
print("34")
# 打印
# 1234
# 示例一
print("12",end='-')
print("34")
# 打印
# 12-34
0x01
假如现在要写一个加载进度条,大部分人下意识会这样用:
为了展示方便使用延时
import time
print('加载中',end="")
for n in range(0,10):
print(".",end="")
time.sleep(0.5)
print("\n加载成功!")
显示如下:
加载中..........
加载成功!
虽然结果看着没问题,但过程有问题。
理想中的进度条.
应该是渐渐出现的,就像这样:
加载中.
加载中..
加载中...
加载中....
可这个程序的加载中..........
是整个出现的,就像这样:
// 运行
// 1s
// 2s
// 3s
// 4s
// 5s
加载中..........
0x02
经过查询得知,print
只有在接收到\n
时才会把数据送到控制台显示。
例如:
# 示例一
print('1',end='') # 控制台不显示
print('2',end='') # 控制台不显示
print('3') # 控制台显示 123
# 示例二
print('1',end='') # 控制台不显示
print('2',end='') # 控制台不显示
print('') # 控制台显示 12
# 示例三
print('1',end='') # 控制台不显示
print('2',end='') # 控制台不显示
print('3\n',end='') # 控制台显示 123
0x03
解决起来也很简单,给print()
加一个flush=True
即可。
例如上面的0x01的程序,只要改成这样就能实现理想中的效果了。
import time
print('加载中',end="",flush=True)
for n in range(0,10):
print(".",end="",flush=True)
time.sleep(0.5)
print("\n加载成功!")
相关文章
- Python面试基础知识_python自学需要哪些基础知识
- pycharm自带python环境吗_Python IDE环境之 新版Pycharm安装详细教程[通俗易懂]
- python要不要装pycharm-Python和pyCharm安装
- python win32api messagebox_如何在Python中使用Win32 API?
- python jieba库_Python jieba库的使用说明「建议收藏」
- python监控网页内容变化_使用Python监控文件内容变化代码实例
- unboundlocalerror python_Python问题:UnboundLocalError: local variable ‘xxx’ referenced before assignme
- python闭包详解_python闭包主要解决什么问题
- Python 冒泡排序_python
- python制作自动交易程序_Python如何实现自动化交易
- 盘点一个使用Python实现Excel数理统计的实战问题
- 【7】python_matplotlib 输出(保存)矢量图方法;画图时图例说明(legend)放到图像外侧;Python_matplotlib图例放在外侧保存时显示不完整问题解决
- Python 解决pip使用超时的问题
- python 分隔列队机制完美解决TCP粘包分包问题
- python-Python与SQLite数据库-使用Python执行SQLite查询(二)
- python-Python与PostgreSQL数据库-PostgreSQL数据库的基本知识(二)
- python-Python与PostgreSQL数据库-使用Python执行PostgreSQL查询(二)
- Python使用platform库获取系统信息:操作系统信息、硬件信息、python环境信息
- python 函数参数传递的问题详解程序员
- 使用Python编程连接MySQL数据库(python连mysql)
- 如何使用Python安装MySQL(python安装mysql)
- 使用Python连接SQL Server数据库(python连接sqlserver数据库)
- 使用Python连接MySQL数据库,实现高效数据交互(python连接mysql)
- Python脚本实现Linux命令快捷控制(python执行linux命令)
- Python中使用MySQL数据库的操作技巧(mysql_python)
- Python使用urllib模块的urlopen超时问题解决方法