Print() 到上一行?

新手上路,请多包涵

我需要写入前一行的命令,例如不带 \n 的 print()。

这是一些示例代码:

 a=0

print("Random string value")

if a==0:
    print_to_previous_line("is random")

和输出

Random string value is random

我知道我可以像 print(“string”, value) 这样在同一个打印命令中使用多个不同的东西,但这不是答案。原因太乱了,无法在这里解释,但是这个“打印到上一行”将是完全正确的答案。那么现实中会是什么呢?

原文由 Jabutosama 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.9k
2 个回答

在 Python 3 中,您可以通过将 — 提供给 print() end="" 来抑制自动换行:

 print("Random string value", end="")
if a==0:
    print(" is random")
else:
    print()

请参阅 如何在没有换行符或空格的情况下打印?

原文由 NPE 发布,翻译遵循 CC BY-SA 3.0 许可协议

有时您无法控制执行您的打印语句(或者这样做可能很困难)。这将:

  • 转到上一行的(开始): \033[F
  • 继续前进 ncols\03[{ncols}G
  • 在那里开始打印。
 print(f"\033[F\033[{ncols}G Space-lead appended text")

我还没有找到转到上一行“结尾”的方法,但您可以指定一个值 ncols ,该值大于上一行的长度。如果它比上一行 _短_,您最终将覆盖那里的内容。

原文由 Enda Farrell 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题