替换打印语句中的单个字符

时间:2018-05-07 08:22:07

标签: python

我知道标题很模糊,但我不知道如何总结我想做的事情。

一个例子是加载屏幕,我想做这样的事情:

Loading assets - 10%

然后从终端删除输出并打印

Loading textures - 20%

每当我尝试这样的事情时,我都会得到

Loading assets - 10%
Loading textures - 20%

我该怎么做?

4 个答案:

答案 0 :(得分:0)

使用os包和清除屏幕并重写每个更新时间。

import os
os.system("clear")
print "your text"

答案 1 :(得分:0)

假设您可以使用python 3.3+,print语句可以帮助您:

  

print(* objects,sep ='',end =' \ n',file = sys.stdout,flush = False)

所以在打印时使用:

print('Mytext', flush=True)

答案 2 :(得分:0)

试试这个脚本;我测试了它并且它工作正常,我添加了time.sleep让你看到效果

import os
from platform import system
import time


if system() == 'Windows':
   os.system('cls')
if system() == 'Linux':
   os.system('cls')

print("Loading Images - 10%")

time.sleep(2)

if system() == 'Windows':
   os.system('cls')
if system() == 'Linux':
   os.system('cls')

print("Loading Texture - 20%")

答案 3 :(得分:0)

Python 3的清晰简单的解决方案

import sys, time
for x in (10, 20, 30):
    print("Loading assets - {}%".format(x), end="\r")
    time.sleep(2)

为了更好地衡量,您可能需要在sys.stdout.flush()之后添加print。这至少适用于UNIX ...