MacOS终端中Python3实现输出从顶部显示无需向上滚动
解决方案
方法1:使用带参数的less命令
你之前用less出现异常,大概率是因为它默认会初始化清屏。试试带-X参数的命令,这个参数会禁止less在启动和退出时清除屏幕:
python3 test.py | less -X
如果希望内容少于一屏时自动退出(不用手动按q),可以再加-F参数:
python3 test.py | less -XF
操作说明:按j/k上下滚动,按q退出。
方法2:在Python脚本内控制终端滚动
直接修改test.py,利用ANSI转义序列让终端输出完内容后自动滚动到开头。注意你的原始代码里join整数列表会报错,要先把元素转成字符串:
nlst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 将整数列表转为字符串后拼接输出 print('\n'.join(map(str, nlst))) # ANSI转义序列:将光标移到屏幕左上角,终端会自动滚动到开头显示前5行 print("\033[H", end="")
直接运行python3 test.py即可,终端默认停在开头显示1-5,向下滚动就能查看6-10。
方法3:使用more命令
如果需求简单,用more命令更直接,它默认从内容开头显示:
python3 test.py | more
操作说明:按空格翻页,按q退出。
内容的提问来源于stack exchange,提问作者Jay Eimas
相关产品推荐
相关产品推荐

