如何在编译之后打印一条线?

问题描述 投票:0回答:2

我想在说话前打印一条线。当我在IDLE中运行程序时,它工作正常。但是在编译之后,首先说出文本然后打印。任何人都可以帮助我吗?

我尝试了不同的方法来键入相同的代码,但它没有用。

import pyttsx3
engine = pyttsx3.init()
engine.setProperty('rate', 150)
engine.setProperty('volume', 1)
def say(y):
        print(y, end='')
        engine.say(y)
        engine.runAndWait()
say('Hello World')

我想在说话之前打印一行,但在编译之后总是先说出来。

python compilation pyinstaller pyttsx
2个回答
0
投票

在某些环境中,Python的print语句被“缓冲”,直到空闲时才实际打印。

尝试添加

import sys

然后做

print(y, end='')
sys.stdout.flush()

刷新标准输出将强制Python在继续之前实际显示打印文本。


0
投票

@JohnAnderson在主要问题中的评论完全符合我的要求。添加flush=Truein打印声明做到了

© www.soinside.com 2019 - 2024. All rights reserved.