Python shell不会打印回车符

时间:2016-06-29 15:55:25

标签: python console python-idle carriage-return

我在Debian Wheezy上使用IDLE(Python 2.7)。我提出了问题herehere。我尝试应用他们说的话,我得到了一些奇怪的结果。如果我在Python shell中打印回车符或退格键,而不是实际获取那些,我会得到bscr的方块。我无法在这里展示它们,因为它们无法复制。

如何获得实际的回车? 这是我的代码,基于我上面提到的问题:

sys.stdout.write("Extracted: %d% Skipped %d% \r" % (len(f),len(skipped)))
sys.stdout.flush()

1 个答案:

答案 0 :(得分:1)

终端处理这些特殊字符的能力各不相同。 was answered的类似问题Wayne Werner,他说IDLE只是不处理那些特殊字符(即打印一个替代字符,而不是移动光标或删除。),这可能是好的原因。

如Wayne所提到的那样,如果没有编写补丁,您可能会发现在本机终端中运行程序确实可以正常工作。 (即python path/to/your/program)。

来自评论

如果您希望程序了解它的环境(如评论中所述),则可以(也许最简单)创建一个在程序中手动设置的命令行开关&# 39;执行。如果从快捷方式或其他程序(可能是批处理文件)启动,则可以通过将其合并到预先编写的命令中来自动执行该过程。

这样的开关看起来像:

python path/to/your/program --terminal //For a full terminal
python path/to/your/program --IDLE //For IDLE

注意

在阅读Terry Jan Reedy的评论之后,我要指出他对tkinter的指导(以及这种情况的一般方面)实际上可能是最有帮助的解决问题的方法。检查those comments