在没有Pywin32的Python中检测Vista / 7上的符号链接(mklink)
目前,buildout recipe collective.recipe.omelette在所有版本的
Windows上使用junction.exe来创建符号链接.但是,默认情况下,junction.exe不附带Windows,最重要的是不支持创建符号链接到文件(仅限目录),导致相当多的
Python包出现问题.
在NT6(Vista和7)上,现在有mklink实用程序,它不仅默认出现,而且还能够为文件和目录创建符号链接.我想更新collective.recipe.omelette以使用它(如果可用)并且已经这样做了,除了一个简单的功能;检测文件或文件夹是否实际上是符号链接.由于这是一个小的构建配方,在我看来需要Pywin32有点太多了(除非setuptools可以某种方式只在Windows上下载它?). 目前在Windows上,煎蛋的功能是调用文件夹上的junction.exe,然后grep响应“替换名称:”但我找不到任何简单的mklink. 我能想到的唯一方法是在目录中调用“dir”,然后逐行查看响应“< SYMLINK>”和同一行上的文件夹/文件名.当然有更好的东西? 解决方法
你能用ctypes来访问各种所需的函数和结构吗?
this patch,目前正在讨论中,旨在为Vista和Windows 7下的模块操作系统添加符号链接功能 – 但它不会在Python 2.7和3.2之前,所以等待(以及最新版本的需求)最终来的可能会太久;一个基于ctypes的解决方案可能会让你度过难关,补丁中的代码显示了C中的代码(基于ctypes的Python编程只比C中的编程要困难一些).
除非有人为此目的已经发布了一些其他的独立实用程序,例如junction.exe,我不会看到其他可行的方法(直到该补丁最终使其成为未来的Python的stdlib),除了使用ctypes,Pywin32或dir之外,还有你已经排除了这三个选项的最后两个……! – ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows – 作为服务运行时,QtService应用程序无法连接到系
- 使用WiX可以在安装后提示重新启动机器吗?
- windows – 以具有SVN修订号的MFC应用程序编程更新FILEVERS
- windows-7 – 在XP Mode和VMware之间选择在Windows 7上进行
- windows-8 – Windows 8.1客户端在重新连接到网络后显示打印
- windows-server-2008-r2 – 我从raid上启动了哪个plex?
- 使用Ansible for Windows VM的Vagrant
- windows – 用于转储设备管理器中显示的所有设备属性的命令
- windows-server-2003 – 我有一个21TB阵列,但从Windows可以
- Windows的http嗅探器