将Python打印和输入重定向到ConEmu(或类似程序)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Python打印和输入重定向到ConEmu(或类似程序)相关的知识,希望对你有一定的参考价值。

原始问题

用python将unicode字符\u0332打印到命令提示符中,导致前一个字母之后而不是其下划线。

我根据在网上找到的一些建议运行了chcp 65001,它在运行该命令之前或之后均无法正确显示。

示例:

C:\>python
Python 3.8.1 (tags/v3.8.1:1b293b6, Dec 18 2019, 22:39:24) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print(u"this is a te\u0332st.")
this is a te_st.

预期输出:

this is a te̲st.

((注意:将控制台的输出复制粘贴到此处,可以正确显示该字符,如预期输出所示)

编辑1:

似乎在命令提示符中没有显示Unicode组合字符。

基于@ErykSun的评论的新问题

是否有一种简单的方法可以将python打印和输入调用重定向到ConEmu(或类似程序),或编写替换它们的自定义函数?

编辑1:

根据@lenz的建议,有没有一种方法可以运行ConEmu并向其传递命令以从命令中运行?

答案

由于@ErykSun的评论,我将默认终端设置为ConEmu,它可以正确显示Unicode组合字符。

对于将来寻找此问题答案的用户,假设您使用的是ConEmu,您可以通过以下操作将其设置为默认控制台:

右键单击顶部栏,然后转到Settings...(或使用键盘快捷键Win + Alt + P)

转到左侧菜单中的Intergration -> Default term

选中以下框:

[Force ConEmu as default terminal for console applicationsRegister on OS startupLeave in TSAAggressive mode

然后点击Save settings

以上是关于将Python打印和输入重定向到ConEmu(或类似程序)的主要内容,如果未能解决你的问题,请参考以下文章

Unix shell输入输出重定向

将程序输出重定向到文件和shell [重复]

如何将打印输出重定向到 TXT 文件

python怎么重定向输入

Linux进阶第五天

[Linux 005]——IO重定向