Windows 上的符号链接?

新手上路,请多包涵

有谁知道从 Python 跨 win32 版本创建/读取符号链接的方法吗?理想情况下,应该有最少量的平台特定代码,因为我需要我的应用程序是跨平台的。

原文由 Harkonnen Jama 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 653
1 个回答

NTFS 文件系统有连接点,我想你可以使用它们,你可以使用 python win32 API 模块,例如

import win32file

win32file.CreateSymbolicLink(fileSrc, fileTarget, 1)

如果你不想依赖 win32API 模块,你总是可以使用 ctypes 并直接调用 CreateSymbolicLink win32 API eg

 import ctypes

kdll = ctypes.windll.LoadLibrary("kernel32.dll")

kdll.CreateSymbolicLinkA("d:\\test.txt", "d:\\test_link.txt", 0)

MSDN ( http://msdn.microsoft.com/en-us/library/aa363866(VS.85).aspx ) 说最低支持的客户端是 Windows Vista

另外:这也适用于目录(用第三个参数表示)。有了 unicode 支持,它看起来像这样:

 kdll.CreateSymbolicLinkW(UR"D:\testdirLink", UR"D:\testdir", 1)

另请参阅 在 Python 中创建 NTFS 连接点

原文由 Anurag Uniyal 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题