将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 applications
,Register on OS startup
,Leave in TSA
和Aggressive mode
然后点击Save settings
以上是关于将Python打印和输入重定向到ConEmu(或类似程序)的主要内容,如果未能解决你的问题,请参考以下文章