Python 替换打印语句中的单个字符
我知道标题很模糊,但我不知道如何总结我想做的事。 一个例子是加载屏幕,我想这样做:Python 替换打印语句中的单个字符,python,Python,我知道标题很模糊,但我不知道如何总结我想做的事。 一个例子是加载屏幕,我想这样做: Loading assets - 10% 然后从终端中取出输出并打印 Loading textures - 20% 每次我尝试这样的东西我都会 Loading assets - 10% Loading textures - 20% 如何做到这一点?使用操作系统软件包,每次更新时清除屏幕并重写 import os os.system("clear") print "your text" 假设您可以使用pyt
Loading assets - 10%
然后从终端中取出输出并打印
Loading textures - 20%
每次我尝试这样的东西我都会
Loading assets - 10%
Loading textures - 20%
如何做到这一点?使用操作系统软件包,每次更新时清除屏幕并重写
import os
os.system("clear")
print "your text"
假设您可以使用python 3.3+,print语句可以帮助您: 打印(*对象,sep='',end='\n',file=sys.stdout,flush=False) 因此,在打印时,请使用:
print('Mytext', flush=True)
试试这个脚本;我测试了一下,效果很好,我加了时间。睡眠对你有什么影响
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%")
Python3的清晰而简单的解决方案
import sys, time
for x in (10, 20, 30):
print("Loading assets - {}%".format(x), end="\r")
time.sleep(2)
为了更好地测量,您可能需要在打印后添加一个
sys.stdout.flush()
。这至少适用于Unix…我可以建议您为此采用某种库,例如,而不是编写自己的东西吗?您希望它适用于哪种操作系统和终端?Windows defaultcmd
对此的要求与UNIX终端的要求完全不同。这可以正常工作,但屏幕上还有其他我不想清除的内容,是否有其他解决方案?可能您需要此解决方案。我有个问题,这个脚本能在python 2-x上运行吗?@SkillerDz否,因此假设:)