【问题标题】:How to stop CLion from automatic line breaking in string when printing to the Console in Python在 Python 中打印到控制台时如何阻止 CLion 自动换行
【发布时间】:2021-02-28 17:38:39
【问题描述】:

令人惊讶的是,我没有找到这个看似非常常见的问题的答案。在Python 中,当我将某些内容打印到CLion Console 时,当打印的文本超过80 个字符时,会自动插入line break。在十六进制中,我可以看到插入的符号是 Windows 上的 carriage return (0D 0A)。我怎样才能阻止这种情况发生?

例子:

print("99b17c2b92123eb0ba2a0afb2568d18247fc2b24385a65b8e2da7245bef278f799b17c2b92123eb0ba2a0afb2568d18247fc2b24385a65b8e2da7245bef278f7")

在控制台会自动在 80 个字符后插入换行符:

Connected to pydev debugger (build 203.7148.70)
99b17c2b92123eb0ba2a0afb2568d18247fc2b24385a65b8e2da7245bef278f799b17c2b92123eb0
ba2a0afb2568d18247fc2b24385a65b8e2da7245bef278f7

我只想按如下方式原样打印:

Connected to pydev debugger (build 203.7148.70)
99b17c2b92123eb0ba2a0afb2568d18247fc2b24385a65b8e2da7245bef278f799b17c2b92123eb0ba2a0afb2568d18247fc2b24385a65b8e2da7245bef278f7

【问题讨论】:

  • 如果你把控制台加宽,换行符还在吗?
  • @Balduin:是的,Python 未打印的内容没有换行符。也许还需要注意的是,我正在使用 CLion 控制台(IDE 用于 C/C++/Python 开发)。
  • 我会先检查 IDE 设置。如果直接从常规终端而不是 IDE 运行,您还可以检查相同的脚本是否为您提供换行符。或者,您可以将输出 pip 到 txt 文件中,然后查看换行符是否也显示在那里。
  • 看来,人们也有同样的问题:见here
  • @Balduin:感谢您的链接。它在常规终端中正常工作。海报说他在 Linux 上,但我在 Windows 上。同样的问题。但是,我在他们的错误跟踪器中找到了解决方案。

标签: python windows printing clion carriage-return


【解决方案1】:

事实证明,这是一个尚未解决的CLion 错误。不过已经发布了解决方案here

  • 转至Help | Edit Custom VM Options
  • 当被要求创建 .vmoption 文件时,请按 OK
  • 添加-Dwin.pty.cols=120(这里的数字是控制台输出宽度)重新启动CLion你可能想要使用这个,因为 run.processes.with.pty 可用于C/C++ 的输出 应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 2012-09-21
    相关资源
    最近更新 更多