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

尝试打开WindowsApps目录文件时触发OSError: [Errno 22] Invalid argument错误

为什么Python无法打开指定的ilspy.exe文件?

问题场景

确认文件路径格式正确、系统中也能看到该文件存在,但执行Python代码打开时抛出错误:

Python 3.10.5 (tags/v3.10.5:f377153, Jun  6 2022, 16:14:13) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os, os.path
>>> path = os.path.join(os.getenv('LOCALAPPDATA'), r"Microsoft\WindowsApps\ilspy.exe")
>>> f = open(path, "rb")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 22] Invalid argument: 'C:\\Users\\<my name>\\AppData\\Local\\Microsoft\\WindowsApps\\ilspy.exe'

核心原因

  • 该文件并非真实的可执行文件:%LOCALAPPDATA%\Microsoft\WindowsApps目录下的.exe是Windows的应用执行别名(App Execution Alias),属于NTFS重解析点(Reparse Point)。它只是一个跳转标记,指向真实的应用安装路径,本身没有可读取的二进制内容。
  • Python的open()函数不支持直接打开这类重解析点:open()需要操作真实的文件实体,当尝试打开这种特殊的链接标记时,系统会返回「无效参数」的错误。

验证方式

可以通过命令行确认文件类型:

  1. 打开CMD,执行:
    dir /aL "%LOCALAPPDATA%\Microsoft\WindowsApps\ilspy.exe"
    
    输出中会显示该文件带有[L]标记,代表是链接类型。
  2. 或打开PowerShell,执行:
    Get-Item "$env:LOCALAPPDATA\Microsoft\WindowsApps\ilspy.exe"
    
    结果中Mode列会包含l,Type列显示ReparsePoint。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 11:45:37