<p>我正在用Python编写一个程序,希望用另一个字符替换终端中打印的最后一个字符</p>
<p>伪代码是:</p>
<pre><code>print "Ofen",
print "\b", # NOT NECCESARILY \b, BUT the wanted print statement that will erase the last character printed
print "r"
</code></pre>
<p>我正在使用Windows8操作系统、Python 2.7和常规解释器</p>
<p>到目前为止,我看到的所有选择都不适合我。(例如:<code>\010</code>,<code>'\033[#D'</code>(#是1),<code>'\r'</code>)</p>
<p>这些选项是在其他堆栈溢出问题或其他资源中建议的,似乎对我不起作用</p>
<p><strong>编辑</strong>:同时使用<code>sys.stdout.write</code>不会改变效果。它只是不会擦除最后打印的字符。相反,当使用<code>sys.stdout.write</code>时,我的输出是:</p>
<pre><code>Ofenr # with a square before 'r'
</code></pre>
<p>我的问题是:</p>
<ol>
<li>为什么这些选项不起作用</李>
<li>我如何实现期望的输出</李>
<li>这与Windows操作系统或Python 2.7有关吗</李>
<li>当我找到方法时,是否可以手动擦除(使用想要的橡皮擦),删除在python的<code>print</code>语句中打印的<code>'\n'</code></李>
</ol>