有谁知道从Python跨版本的win32进行符号链接(symbolic link)的读取/读取的方法吗?理想情况下,应该有最少数量的平台特定代码,因为我需要我的应用程序是跨平台的。
最佳答案
NTFS文件系统具有连接点,我想您可以改用它们,您可以为此使用python win32 API模块。
import win32file
win32file.CreateSymbolicLink(fileSrc, fileTarget, 1)
如果您不想依赖win32API模块,则可以始终使用
ctypes
并直接调用CreateSymbolicLink
win32 API,例如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)
也看到
Create NTFS junction point in Python