python - 在没有 Pywin32 的 Python 中检测 Vista/7 上的符号链接(symbolic link)(mklink)

标签 python windows windows-vista pywin32

目前,构建配方 collective.recipe.omelette 在所有 Windows 版本上都使用 junction.exe 来创建符号链接(symbolic link)。然而,默认情况下 junction.exe 不随 Windows 一起提供,最重要的是不支持创建文件(仅目录)的符号链接(symbolic link),这会导致相当多的 Python 包出现问题。

在 NT6+(Vista 和 7)上,现在有 mklink 实用程序,它不仅默认提供,而且还能够创建文件和目录的符号链接(symbolic link)。我想更新 collective.recipe.omelette 以使用它(如果可用)并且已经这样做了,除了一个简单的功能;检测文件或文件夹是否实际上是符号链接(symbolic link)。由于这是一个小的构建方法,在我看来需要 Pywin32 有点太多了(除非 setuptools 只能以某种方式在 Windows 上下载它?)。

目前在 Windows 上,omelette 所做的是在文件夹上调用 junction.exe,然后对“替代名称:”的响应进行 grep,但我找不到任何与 mklink 一样简单的东西。

我能想到的唯一方法是在目录中调用“dir”,然后逐行查看响应,在同一行中查找“”和文件夹/文件名。肯定有更好的东西吗?

最佳答案

参见 jaraco.windows.filesystem (jaraco.windows package 的一部分)有关在没有 pywin32 的 Windows 中符号链接(symbolic link)操作的大量示例。

关于python - 在没有 Pywin32 的 Python 中检测 Vista/7 上的符号链接(symbolic link)(mklink),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1452148/

相关文章:

WPF 总是在父级的顶部

c++ - 避免使用 boost::interprocess::message queue 创建文件

.net - 微软破坏了 .NET 兼容性?

.net - Windows 窗体 .NET 2.0 : How to draw a PNG icon?

与 Selenium (RC) 的 Javascript 通信

python - Beautiful Soup 使用波斯字符串查找

windows-vista - 在 Vista 上的 Windows Installer 中将 UAC 设为可选

java - 如何让 Vista 的讲述人将我的 Swing 组件读回给我?

python - 如何将数据框列值设置为 X 轴标签

python - 从使用 libglade 到 GtkBuilder 的转换步骤是什么? (Python)