sys.stdout.flush()在python循环中无法正常工作

MLS*_*LSC 4 python stdout flush

我有这个代码:

sys.stdout.write("\r [*] Serching for "+FirstName+" AND "+LastName )
sys.stdout.flush()
Run Code Online (Sandbox Code Playgroud)

但是当我把它放在循环中时,我一步一步地将FirstName与对方混合在一起,并将LastName与对方混合在一起.

Searching for TEST_THREE AND EXAMPLE_THREE   #First time
Searching for TEST_TWOEE AND EXAMPLE_TWOEE   #Next time 
Run Code Online (Sandbox Code Playgroud)

你看还有EETHREETWO...

我该如何解决?

fal*_*tru 5

用额外的空格填充字符串.例如,使用str.ljust:

msg = "[*] Serching for {} AND {}".format(first_name, last_name)
sys.stdout.write("\r " + msg.ljust(70))
sys.stdout.flush()
Run Code Online (Sandbox Code Playgroud)

使用str.format:

msg = "[*] Serching for {} AND {}".format(first_name, last_name)
sys.stdout.write("\r {:<70}".format(msg))
sys.stdout.flush()
Run Code Online (Sandbox Code Playgroud)