gpt4 book ai didi

python - 在 Python 中,如何获取文件的正确大小写路径?

转载 作者:IT老高 更新时间:2023-10-28 20:37:17 26 4
gpt4 key购买 nike

Windows 使用不区分大小写的文件名,因此我可以使用以下任何一种打开同一个文件:

r"c:\windows\system32\desktop.ini"
r"C:\WINdows\System32\DESKTOP.ini"
r"C:\WiNdOwS\SyStEm32\DeSkToP.iNi"

等等。给定这些路径中的任何一条,我怎样才能找到真正的案例?我希望他们都制作:

r"C:\Windows\System32\desktop.ini"

os.path.normcase 不这样做,它只是将所有内容小写。 os.path.abspath 返回一个绝对路径,但它们中的每一个都已经是绝对的,因此它不会改变它们中的任何一个。 os.path.realpath只用来解析符号链接(symbolic link),Windows没有,所以和Windows上的abspath一样。

有没有一种简单的方法可以做到这一点?

最佳答案

Ned 的 GetLongPathName 答案不太奏效(至少对我来说不是)。您需要在 GetShortPathname 的返回值上调用 GetLongPathName。为简洁起见使用 pywin32(ctypes 解决方案看起来类似于 Ned 的解决方案):

>>> win32api.GetLongPathName(win32api.GetShortPathName('stopservices.vbs'))
'StopServices.vbs'

关于python - 在 Python 中,如何获取文件的正确大小写路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3692261/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com