您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Windows上使用python的os.path.islink

在Windows上使用python的os.path.islink

根本问题是您使用的Python版本太旧。如果您坚持使用2.x,则将无法使用2010年初以后添加的新功能

这些功能之一是处理NTFS符号链接。该功能是在3.2中加入在2010年底(见3.23.1,以及2.7源的信息。)

Python在此之前不处理NTFS符号链接的原因是直到2009年末才出现这种情况。(IIRC,6.0内核中已包含支持,但对用户态的支持需要Vista / 2008上的Service Pack;仅7 / 2008R2和此外,您需要一个足够新的MSVCRT才能访问该用户支持,并且Python明确规定不要在次要版本中升级到新的Visual Studio版本。)

代码没有移植回2.x的原因是永远不会有2.8,并且像2.7.3(或2.7.4)这样的bug修复版本没有新功能,只有bug修复了。

这已被报告为问题13143,并且预期的修复是更改2.7文档以阐明islink始终False在Windows上返回的问题。

所以,如果你想阅读Windows下NTFS符号链接,要么升级到Python 3.2+,或者你必须使用win32apictypes等自己做。

或者,如Martijn Pieters所建议的那样,不要自己做,而是使用像jaraco.windows这样的第三方库和/或借用他们的代码

或者,如果您确实想要,可以从3.2源代码中借用代码并围绕它构建一个C扩展模块。如果从跟踪下来ntpathosnt(实际上是posixmodule.c),我相信它的胆量都在win32_xstat_implwin32_xstat_impl_w

python 2022/1/1 18:33:00 有206人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶