栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

这些功能之一是处理NTFS符号链接。该功能是在3.2中加入在2010年底(见3.2,3.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+,或者你必须使用

win32api
ctypes
等自己做。

或者,如Martijn
Pieters所建议的那样,不要自己做,而是使用像

jaraco.windows
这样的第三方库和/或借用他们的代码。

或者,如果您确实想要,可以从3.2源代码中借用代码并围绕它构建一个C扩展模块。如果从跟踪下来

ntpath
os
nt
(实际上是
posixmodule.c
),我相信它的胆量都在
win32_xstat_impl
win32_xstat_impl_w



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/661241.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号