能否让Python IDLE调试器在程序运行时读取标准输入?
解决IDLE调试器无法接收标准输入的问题
不用修改所有input()调用,有两种实用方法:
通过IDLE Shell结合调试器执行脚本
- 打开IDLE,点击顶部菜单的
Debug > Debugger,启用调试器面板(会显示变量、调用栈等信息)。 - 在IDLE的Shell窗口中,执行以下命令加载并运行脚本:
exec(open('你的脚本文件名.py').read()) - 调试过程中遇到
input()调用时,直接在Shell窗口输入内容即可,单步执行、查看变量的功能完全正常。
- 打开IDLE,点击顶部菜单的
临时重定向标准输入(适合固定输入场景)
如果你的输入内容是固定的,可以在启动IDLE时通过命令行重定向输入,比如Windows下:python -m idlelib.debugger 你的脚本.py < 输入文件.txt这种方式无需修改代码,但输入是一次性从文件读取,没法交互式输入。
注意:第一种方法是最灵活的,完全保留交互式输入的同时,能正常使用IDLE的调试功能。
内容的提问来源于stack exchange,提问作者Omace
相关产品推荐
相关产品推荐

