Python shell 不打印回车符

标签 python console python-idle carriage-return

我在 Debian Wheezy 上使用 IDLE (Python 2.7)。我收集了问题herehere 。我尝试应用他们所说的,但得到了一些奇怪的结果。如果我在 Python shell 中打印回车符或退格符,而不是实际得到这些,我会得到其中包含 bscr 的方 block 。我无法在此处显示它们,因为它们不会复制。

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

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

最佳答案

终端处理此类特殊字符的能力各不相同。类似问题was answered通过 Wayne Werner ,谁说 IDLE 只是不处理那些特殊字符(即打印替代字符,而不是移动光标或删除。),这可能是有充分理由的。

如果没有像 Wayne 提到的那样编写补丁,您可能会发现在 native 终端中运行程序确实可以按预期工作。 (即 python 路径/to/your/program)。

来自评论

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

这样的开关可能如下所示:

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

注意

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

关于Python shell 不打印回车符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38104602/

相关文章:

python - 如何以编程方式创建 PDFOutline

c++ - 如何更改控制台字体大小

python - 我的简单 tkinter 计算器脚本仅在通过 IDLE 运行时才有效。为什么?

python - Win 7,IDLE突然不工作,Labview不工作,系统缓慢

javascript - JavaScript 中包含转义序列的正则表达式

python - Scipy Minimize 使用 NoneType

javascript - 在 JavaScript 代码中如何从 Python JSON 变量获取数据

python - 运行 dpkg 安装程序以在 wxpython 中安装 deb

python - 查看简单的 Python 类

c++ - 从控制台灵气解析多行