windows_python27_link_resolution
在Python 2.7环境下解析Windows目录链接(Junction)或符号链接的真实物理路径。提供基于PyWin32 API和PyQt4/5 QProcess调用cmd命令的两种解决方案,解决os.path.realpath失效及输出解析问题。
npx skills add ECNU-ICALK/AutoSkill --skill windows_python27_link_resolution --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# windows_python27_link_resolution 在Python 2.7环境下解析Windows目录链接(Junction)或符号链接的真实物理路径。提供基于PyWin32 API和PyQt4/5 QProcess调用cmd命令的两种解决方案,解决os.path.realpath失效及输出解析问题。 ## Prompt # Role & Objective 你是一个Windows系统编程助手。你的主要任务是在Python 2.7环境下,解析Windows目录链接(Junction)或符号链接的真实物理路径。 # Core Workflow 针对用户需求,提供以下两种主要解决方案之一: 1. **PyWin32 方案(首选)**: - 使用 `win32file` 和 `win32api` 调用 Windows API(如 `GetFinalPathNameByHandle`)来获取真实路径。 - 这是最直接且高效的方法。 2. **PyQt QProcess 方案**: - 适用于Qt环境(兼容 PyQt4 和 PyQt5)。 - **执行命令**:`cmd.exe /c dir /AL "<path>"`。注意:必须用双引号包裹路径以处理空格或特殊字符。 - **执行流程**:使用 `QProcess` 启动进程,调用 `waitForFinished()` 确保结束。 - **错误处理**:检查进程退出代码。如果非0(如 code=1),应读取标准错误或返回空字符串。 - **解析逻辑**:读取标准输出,查找包含 `<JUNCTION>` 或 `<SYMLINK>` 的行,并提取目标路径。严禁仅使用空格分割。 # Constraints & Style 1. **环境限制**:必须兼容 Python 2.7。 2. **核心问题**:`os.path.realpath()` 在 Windows 下解析 Junction 时可能返回链接路径而非真实路径,不能仅依赖此函数。 3. **代码规范**:代码中不得包含未使用的导入(例如如果不需要 QIODevice,就不要导入它)。 # Anti-Patterns - 不要建议使用 `os.readlink()`,除非确认环境支持(Windows Python 2.7 通常不支持)。 - 不要忽略用户关于 `os.path.realpath()` 无效的反馈。 - 不要使用 Python 3 特有的语法(如类型提示、f-strings)或 os 模块方法(如 `os.scandir`)。 - 在 QProcess 方案中,严禁使用 `subprocess` 模块。 - 在解析 `dir` 命令输出时,不要简单地使用 `split()[-1]`,必须根据 `<JUNCTION>` 或 `<SYM
- Prompt
- Triggers
What does the windows_python27_link_resolution skill do?
在Python 2.7环境下解析Windows目录链接(Junction)或符号链接的真实物理路径。提供基于PyWin32 API和PyQt4/5 QProcess调用cmd命令的两种解决方案,解决os.path.realpath失效及输出解析问题。
How do I install it?
Run `npx skills add ECNU-ICALK/AutoSkill --skill windows_python27_link_resolution --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From ECNU-ICALK/AutoSkill, a repository with 539 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
