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

使用OperatingSystem库Get File关键字用*通配符报OSError: [Errno 22]错误如何解决

报错原因

OperatingSystem库的Get File关键字本身不支持通配符解析,它要求入参必须是指向单个存在文件的完整合法路径。你传入带*的路径时,关键字不会自动做通配符匹配展开,会直接把带*的整段字符串作为真实文件名调用系统接口读取,系统识别到文件名包含非法的*字符,就会抛出OSError: [Errno 22] Invalid argument报错。

解决方法

你需要先通过通配符匹配拿到明确的文件路径后,再调用Get File读取文件:

  • 第一步:调用OperatingSystem.Glob关键字完成通配符匹配,获取所有符合规则的文件路径列表,示例写法:
# 例:匹配当前目录下所有文件名以log开头的txt文件
${matched_file_list}    Glob    log*.txt
  • 第二步:校验匹配结果,再执行文件读取操作,避免无匹配/多匹配的异常:
${file_count}    Get Length    ${matched_file_list}
# 仅匹配到单个文件时直接读取
Run Keyword If    ${file_count} == 1    ${file_content} =    Get File    ${matched_file_list}[0]
...    ELSE IF    ${file_count} == 0    Fail    未找到符合通配符规则的文件
...    ELSE    Fail    匹配到${file_count}个符合规则的文件,请缩小通配符范围
  • 如果你需要读取所有匹配到的文件内容,直接用FOR循环遍历${matched_file_list},逐个调用Get File关键字即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:45:08