Python运行工具窗口无法显示完整打印输出结果如何解决?
问题解决方案
问题根源
你遇到的现象和JSON文件大小无关,是终端默认回滚缓冲区行数限制导致的:终端只会保留最近几百到数千行的输出内容,更早的输出会被自动清除,所以你只能看到最后若干行;提前终止程序时后续输出还没生成、旧内容还没被覆盖,所以能捕获到前几行输出。
立即可用的解决方法
- 方法1:输出重定向到文件(最推荐,全场景适用)
运行脚本时直接将打印内容写入本地文件,不需要修改代码:
运行结束后直接打开python 你的脚本文件名.py > 输出结果.txt输出结果.txt即可查看完整的打印内容。 - 方法2:调大终端缓冲区限制
找到你使用的终端设置项,将回滚行数调整为更大值或者设置为无限制:- Windows cmd/ powershell:右键窗口顶部栏→属性→选项→调整「缓冲区大小」数值
- Mac/Linux 终端:在设置页找到「回滚」相关选项,调整行数上限
该方法仅适合小体量输出,不建议用于后续百MB级JSON的全量打印。
代码优化及大文件适配方案
现有代码优化
建议用上下文管理器处理文件打开逻辑,避免文件句柄泄露,同时显式指定编码避免跨系统乱码:
import json import pprint with open("practice02.json", "r", encoding="utf-8") as f: data = json.load(f) pprint.pprint(data)
百MB级大JSON处理建议
后续处理100-200MB的JSON文件时,不建议全量加载+全量打印:
- 优先按需提取内容:比如只打印JSON的外层键、列表的前N个元素等你实际需要的内容,不需要全量输出
- 采用流式加载:如果全量加载JSON内存占用过高,可以用
ijson等第三方库实现逐节点流式读取,不需要把整个JSON文件加载到内存中。
内容的提问来源于stack exchange,提问作者Szobota Peter
相关产品推荐
相关产品推荐

