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

作业要求读取standard input,对应example.txt时该如何实现?

标准输入读取要求说明

要求的具体含义

  • 标准输入(standard input,简称stdin)是操作系统为运行中的程序默认提供的输入数据流,不需要程序绑定读取固定路径、固定名称的磁盘文件。
  • 禁止直接读取example.txt的核心原因是适配自动化测试逻辑:测试系统运行你的代码时,会直接将多组不同的测试用例数据注入到程序的标准输入流中,运行环境不会存放example.txt文件,如果你的代码里硬编码了open("example.txt")这类读取指定文件的逻辑,测试时会直接抛出文件不存在的错误,无法通过用例。
  • 官方给出的参考代码逻辑已经完成了标准输入的读取处理:
import sys
for l in sys.stdin.read().splitlines():
   pass # do stuff with each line

你只需要把逐行处理的业务逻辑替换掉pass即可,不需要额外处理文件打开、关闭、路径解析等操作。

基于example.txt的正确实现&调试方法

你全程不需要修改读取逻辑硬编码读本地文件,只需要按以下步骤操作即可:

  1. 代码实现直接复用官方给的标准输入读取框架,所有业务逻辑都在上述的行循环中完成,不要添加任何读取指定磁盘文件的代码。
  2. 本地调试时使用输入重定向功能,将example.txt的内容注入到程序的标准输入中,和自动化测试系统的运行逻辑完全一致:
    • Windows(CMD/PowerShell)、Linux、macOS环境下都可以在终端执行以下命令运行:
    python 你的脚本文件名.py < example.txt
    
    其中<就是输入重定向符号,会把后面文件的内容作为标准输入传给前面的程序。
    • 如果你使用IDE调试,可以在对应脚本的运行配置项中找到「重定向输入到文件」相关选项,选中你本地的example.txt即可,同样不需要修改代码。

注意:不要采用本地调试写死读example.txt、提交前再改回读标准输入的做法,很容易出现忘记修改直接提交的问题,直接采用标准输入+重定向的方式调试即可避免这类问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 06:06:06