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

Python中sys.stdin无需open读取XML数据的原理及本地测试问询

关于sys.stdin读取XML的说明
  • sys.stdin是Python的标准输入流,它不需要关联已打开的文件,而是读取终端输入的内容或者通过管道传入的内容。预代码里的sys.stdin.read()会一次性捕获所有输入的XML数据,不管内容是你手动输入的,还是从外部文件导进来的。
测试get_attr_number函数的实操方法

方法1:终端手动输入XML

在PowerShell或VS Code集成终端中:

  1. 运行你的脚本:python your_script.py
  2. 直接输入测试用的XML内容,比如:
<feed xml:lang='en'>
  <title>HackerRank</title>
  <subtitle lang='en'>Programming challenges</subtitle>
  <link rel='alternate' type='text/html' href='http://hackerrank.com/'/>
  <updated>2013-12-25T12:00:00</updated>
</feed>
  1. 输入完成后,按Ctrl+Z(Windows/PowerShell)或Ctrl+D(Linux/macOS)结束输入,脚本就会开始处理XML数据。

方法2:从本地文件导入输入(更高效)

把测试XML存成test.xml文件,然后通过管道传给脚本:

  • PowerShell/CMD:type test.xml | python your_script.py
  • Linux/macOS终端:cat test.xml | python your_script.py
    这样sys.stdin会直接读取文件里的XML内容,省去手动输入的麻烦。

方法3:VS Code调试时指定输入文件

如果用VS Code调试,可在launch.json中配置自动读取输入文件:

  1. 打开调试面板,创建launch.json
  2. 添加如下配置:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "redirectInput": "./test.xml"
        }
    ]
}

调试运行时,脚本会自动加载test.xml里的内容作为输入。

验证函数的小技巧

比如上面的示例XML,所有节点的属性总数是5(xml:lang、lang、rel、type、href),你可以用这个案例测试函数输出是否正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 17:21:06