我正在用Python编写程序,并希望将终端中打印的最后一个字符替换为另一个字符。
伪代码为:
print "Ofen", print "\b", # NOT NECCESARILY \b, BUT the wanted print statement that will erase the last character printed print "r"
我正在使用Windows8 OS,Python 2.7和常规解释器。
到目前为止,我看到的所有选项都不适合我。(例如:\010,'\033[#D'(#为1),'\r')。
\010
'\033[#D'
'\r'
这些选项是在其他Stack Overflow问题或其他资源中提出的,似乎对我不起作用。
编辑 :也使用sys.stdout.write不会改变影响。它只是不会擦除最后打印的字符。相反,使用时sys.stdout.write,我的输出是:
sys.stdout.write
Ofenr # with a square before 'r'
我的问题:
'\n'
print
print在python中使用时,'\n'添加了换行符(aka )。您应该sys.stdout.write()改用。
sys.stdout.write()
import sys sys.stdout.write("Ofen") sys.stdout.write("\b") sys.stdout.write("r") sys.stdout.flush()
输出: Ofer
Ofer