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

如何在Spyder 5.5.0中为Python脚本传入参数/重定向stdin?

在Spyder 5.5.0中为Kattis脚本传入测试输入的解决方法

针对你在Spyder里测试Kattis脚本的问题,这里提供几个实用的解决办法:

方法1:用代码临时重定向stdin(推荐,不影响Kattis提交)

在脚本开头加一段仅本地测试用的代码,提交Kattis时删掉或注释即可,完全符合Kattis从stdin读取输入的要求:

import sys
# 本地测试专用,提交Kattis时务必删除/注释
if __name__ == "__main__":
    sys.stdin = open("test.txt", "r")

这样运行脚本时,会自动把test.txt的内容作为stdin输入,不用手动敲控制台,也不用改核心逻辑。

方法2:用IPython控制台直接执行重定向命令

打开Spyder的IPython控制台,切换到脚本所在的目录后,直接输入:

%run myscript.py < test.txt

IPython支持这种输入重定向语法,能直接把测试文件内容传给脚本。

方法3:设置外部控制台不自动关闭

如果坚持用外部控制台运行:

  • 按Ctrl+F6打开运行配置窗口
  • 切换到「控制台」选项卡,勾选在脚本结束后保持控制台打开
  • 然后手动打开系统命令行(CMD/PowerShell),切到脚本目录,执行python myscript.py < test.txt,窗口就不会跑完就关了,能正常看输出。

方法4:修改Spyder全局运行设置

  • 点击顶部菜单栏「工具>首选项>运行」
  • 把「默认运行方式」改成「外部系统控制台」
  • 勾选「在脚本结束后保持控制台打开」
  • 之后运行脚本时,外部控制台会保留,你可以手动在控制台里输入重定向命令执行测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 07:07:21