删除最后打印的字符python

发布于 2021-01-29 14:55:22

我正在用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')。

这些选项是在其他Stack Overflow问题或其他资源中提出的,似乎对我不起作用。

编辑
:也使用sys.stdout.write不会改变影响。它只是不会擦除最后打印的字符。相反,使用时sys.stdout.write,我的输出是:

Ofenr # with a square before 'r'

我的问题:

  1. 这些选项为什么不起作用?
  2. 如何获得所需的输出?
  3. 这与Windows OS或Python 2.7有关吗?
  4. 当我找到方法时,是否可以手动擦除(使用所需的橡皮擦),删除'\n'pythonprint语句中打印的?
关注者
0
被浏览
115
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    print在python中使用时,'\n'添加了换行符(aka )。您应该sys.stdout.write()改用。

    import sys
    sys.stdout.write("Ofen")
    sys.stdout.write("\b")
    sys.stdout.write("r")
    sys.stdout.flush()
    

    输出: Ofer



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看