You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何在input()接收输入时,在输入区域后打印内容?

实现输入时同步显示上下分隔线的Python方案

要实现输入过程中就显示上下分隔线,不能依赖input()执行完成后再打印底部分隔线,得先输出所有需要显示的内容,再通过终端光标控制把输入位置移到指定区域。

核心思路

  1. 先打印顶部分隔线、输入提示行、底部分隔线
  2. 用终端光标控制代码,把光标移回到输入提示行的输入位置
  3. 执行空提示的input()接收用户输入

代码实现

# 打印顶部分隔线
print("-----------------------------------")
# 打印输入提示行
print(" > ")
# 打印底部分隔线
print("-----------------------------------")

# ANSI转义序列:上移2行回到输入行,再右移3个字符定位到输入位置(跳过" > ")
print("\033[2A\033[3C", end="")

# 接收用户输入,提示语为空
user_input = input("")

# 可选:输入完成后将光标移回底部,避免界面混乱
print("\033[2B")

说明

  • ANSI转义序列\033[nA表示将光标向上移动n行,\033[nC表示向右移动n个字符
  • 大部分现代终端(Linux/macOS终端、Windows PowerShell、Windows Terminal)都支持ANSI转义序列,旧版Windows CMD可能需要手动开启虚拟终端支持
  • 输入完成后可以根据需要调整光标位置,示例中的\033[2B是将光标下移2行到底部分隔线下方

内容的提问来源于stack exchange,提问作者cloud

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 05:25:53