python模拟查看进程进度百分比,并返回百分比的代码
时间: 2023-12-10 22:40:07 浏览: 67
你可以使用`psutil`库来获取系统进程信息,然后结合时间等参数计算进程的进度百分比。下面是一个简单的示例代码:
```python
import psutil
import time
def get_process_percent(pid):
while True:
try:
process = psutil.Process(pid)
percent = process.cpu_percent(interval=1)
if percent == 0:
return 100
else:
return round(percent, 2)
except:
return -1
if __name__ == '__main__':
# 假设进程的PID为123
pid = 123
for i in range(1, 101):
print('{}%'.format(i), end='\r')
time.sleep(0.1)
percent = get_process_percent(pid)
if percent == -1:
print('进程不存在或已结束')
break
elif percent == 100:
print('进程已完成')
break
else:
print('进程进度:{}%'.format(percent))
```
在上面的示例中,`get_process_percent`函数接受一个进程的PID作为参数,然后利用`psutil`库获取进程的CPU占用率,并将其转换为进度百分比。如果进程不存在或已结束,函数将返回-1;如果进程已完成,函数将返回100。
接下来,在主函数中,我们模拟进程的进度百分比输出,每隔0.1秒输出一次进度百分比,并调用`get_process_percent`函数获取进程的进度百分比。如果进程已完成或不存在,循环将被终止。
阅读全文