Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 替换打印语句中的单个字符_Python - Fatal编程技术网

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 default
cmd
对此的要求与UNIX终端的要求完全不同。这可以正常工作,但屏幕上还有其他我不想清除的内容,是否有其他解决方案?可能您需要此解决方案。我有个问题,这个脚本能在python 2-x上运行吗?@SkillerDz否,因此假设:)