我试图一次打印多行,在python 2.7.11中,每行都有一个设置速度的延迟打印

我试图一次打印多行,在python 2.7.11中,每行都有一个设置速度的延迟打印,python,python-2.7,printf,Python,Python 2.7,Printf,基本上 延迟打印1 一次测试多行 那只棕色的大狐狸跳过了那只懒狗 在使用此功能时,是否应同时打印 import time import sys text_speed = raw_input("What speed? > ") def delay_print(s): for c in s: sys.stdout.write(c) sys.stdout.flush() if text_speed == "fast":

基本上

延迟打印1

一次测试多行

那只棕色的大狐狸跳过了那只懒狗

在使用此功能时,是否应同时打印

import time
import sys

text_speed = raw_input("What speed? > ")

def delay_print(s):
    for c in s:
        sys.stdout.write(c)
        sys.stdout.flush()
        if text_speed == "fast":
            time.sleep(0.075)

        elif text_speed == "slow":
            time.sleep(.275)

        elif text_speed == "normal":
            time.sleep(.175)

delay_print("Delay Print 1 \n")
delay_print("Multiple lines at once test. \n")
delay_print("The big brown fox jumped over the lazy dog. \n")
可能吗


当我运行它时,它会一个接一个地延迟打印每个字符串,但我似乎无法找到一种方法使所有3行同时打印。即使没有延迟打印。

这要看情况而定,现在发生的事情是,您命令使用不同的属性执行3次函数,但如果我理解您的意思,您希望以并行方式执行这3个函数,因此这里有一个读数,您可以在多处理中使用
我希望这会有所帮助。

这取决于情况,现在发生的事情是,您命令使用不同的属性执行3次函数,但如果我理解您的意思,您希望以并行方式执行这3个函数,因此这里有一个可用于多处理的读数
我希望它能帮上忙。

我不确定你会怎么写3行,但程序是从 在控制台中创建一个进度条,并且在移动的部件之后还有一些东西,因此您可能能够找到一种方法,在这个设置中也添加一个新行

import math
import sys
import time

END = 170

MAX_LEN = 30

def get_progressbar_str(progress):
    BAR_LEN = int(MAX_LEN * progress)
    return ('[' + '=' * BAR_LEN +
            ('>' if BAR_LEN < MAX_LEN else '') +
            ' ' * (MAX_LEN - BAR_LEN) +
            '] %.1f%%' % (progress * 100.))

for i in range(END + 1):
    time.sleep(0.01)
    progress = 1.0 * i / END
    sys.stderr.write('\r\033[K' + get_progressbar_str(progress))
    sys.stderr.flush()
sys.stderr.write('\n')
sys.stderr.flush()

注意:这必须从.py文件运行,而不是从空闲运行,才能正确查看进度条

我不知道你怎么能做到3行,但是这个程序 在控制台中创建一个进度条,并且在移动的部件之后还有一些东西,因此您可能能够找到一种方法,在这个设置中也添加一个新行

import math
import sys
import time

END = 170

MAX_LEN = 30

def get_progressbar_str(progress):
    BAR_LEN = int(MAX_LEN * progress)
    return ('[' + '=' * BAR_LEN +
            ('>' if BAR_LEN < MAX_LEN else '') +
            ' ' * (MAX_LEN - BAR_LEN) +
            '] %.1f%%' % (progress * 100.))

for i in range(END + 1):
    time.sleep(0.01)
    progress = 1.0 * i / END
    sys.stderr.write('\r\033[K' + get_progressbar_str(progress))
    sys.stderr.flush()
sys.stderr.write('\n')
sys.stderr.flush()

注意:这必须从.py文件运行,而不是从空闲运行,才能正确查看进度条

你说同时打印这三个是什么意思?它们必须按一定的顺序印刷。您可以将字符串连接在一起,然后打印出一个大字符串。@RedKnite我的意思是我希望每一行同时打印,一行在另一行之上。最好使用延迟打印功能,但我知道这可能不可能。这是我正在做的一个文本游戏,我只是觉得它看起来比一次只打印一行要酷。你说同时打印三行是什么意思?它们必须按一定的顺序印刷。您可以将字符串连接在一起,然后打印出一个大字符串。@RedKnite我的意思是我希望每一行同时打印,一行在另一行之上。最好使用延迟打印功能,但我知道这可能不可能。这是一个我正在开发的文本游戏,我只是觉得它看起来比一次只打印一行要酷。这个答案实际上不起作用,但我找到了一个网站可以帮助你:我会做一些类似于
os.system('clear)的事
然后添加新文本。这个答案实际上不起作用,但我找到了一个可以帮助您的网站:我会做一些类似于
os.system('clear)
的事情,然后添加新文本。