我不知道PyCharm为什么要这么做:
因此,我有一个.py文件,并为它启用了“在输出控制台中模拟终端”。
print("Hello, World!")
print("Hello again!")
如果我运行它,我会得到以下输出:
Hello, World!
Hello again!
这到底是怎么回事?
screenshot
编辑1:我重新安装了Python和PyCharm,还是一样的问题!但是当我通过内置的终端菜单运行它的时候,问题就消失了?
screenshot 2
2条答案
按热度按时间cedebl8k1#
pycharm没有错,根据PyCharm documentation:
PyCharm包含一个嵌入式终端仿真器,用于从IDE内部使用命令行shell。使用它可以运行Git命令、设置文件权限以及执行其他命令行任务,而无需切换到专用的终端应用程序。
一个stackoverflow user通知:
我已经启用了终端插件,但当我尝试运行或调试使用这些转义码的python应用程序时,它们只是在控制台中显示为原始状态
answer:
控制台和终端在PyCharm中是两个不同的东西。控制台是运行和调试工具窗口的一部分,只用于显示stdout和stderr的输出,而终端是独立的工具窗口,可以与系统外壳交互。在InteliJ 14版中增加了对控制台中ANSI转义码的支持(https://youtrack.jetbrains.com/issue/IDEA-69880)于2014年7月23日发布,PyCharm 2.7.3于2013年6月18日发布,因此该功能在PyCharm 2.7中不存在。
结论
当您尝试在模拟终端中查看输出时,它无法正确呈现python print函数中使用的转义序列,这就是为什么您会看到输出中有额外的空格,而在标准控制台中查看输出时却看不到这种行为。
hmtdttj42#
他们在2022.2.1更新中修复了这个问题。
编辑:Pycharm 2022.2.1更新