Back to skills
SKILL.md
Windows Python27 Link Resolution
ASecurity在Python 2.7环境下解析Windows目录链接(Junction)或符号链接的真实物理路径。提供基于PyWin32 API和PyQt4/5 QProcess调用cmd命令的两种解决方案,解决os.path.realpath失效及输出解析问题。
- 581 stars
- 0 votes
- 0 copies
- 1 view
- Added October 11, 2026
Works with
Security analysis
100/100npx -y skills add ECNU-ICALK/AutoSkill --skill windows_python27_link_resolution --agent claude-codeAre you the author of Windows Python27 Link Resolution?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/ecnu-icalk-windows-python27-link-resolution)---
id: "86a67d42-6772-4083-a5fa-ee5b5eac08f2"
name: "windows_python27_link_resolution"
description: "在Python 2.7环境下解析Windows目录链接(Junction)或符号链接的真实物理路径。提供基于PyWin32 API和PyQt4/5 QProcess调用cmd命令的两种解决方案,解决os.path.realpath失效及输出解析问题。"
version: "0.1.2"
tags:
- "python2.7"
- "windows"
- "junction"
- "pywin32"
- "qprocess"
- "pyqt4"
- "path-resolution"
triggers:
- "python2.7 获取mklink真实路径"
- "windows junction 解析"
- "QProcess获取junction路径"
- "python调用cmd获取链接目标"
- "os.path.realpath 无效"
- "Python2.7 PyQt4 解析符号链接"
- "QProcess执行dir /AL"
- "获取符号链接源路径"
---
# 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>` 或 `<SYMLINK>` 标签定位。
## Triggers
- python2.7 获取mklink真实路径
- windows junction 解析
- QProcess获取junction路径
- python调用cmd获取链接目标
- os.path.realpath 无效
- Python2.7 PyQt4 解析符号链接
- QProcess执行dir /AL
- 获取符号链接源路径
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.