gpt4 book ai didi

python - Python 的 os.path.relpath 的意外行为

转载 作者:行者123 更新时间:2023-11-28 17:11:06 27 4
gpt4 key购买 nike

我在使用网络地址时遇到问题。在 Windows 的 Python3.6 中尝试过。调用

os.path.relpath(r"\\ZEYCUS\first\second\file.txt", start=r"\\ZEYCUS\first")

如我所料,我得到了 'second\\file.txt'。但是有了

os.path.relpath(r"\\ZEYCUS\first\second\file.txt", start=r"\\ZEYCUS")

我收到一条错误消息:ValueError: path is on mount '\\\\ZEYCUS\\first', start on mount 'C:'

这是怎么回事? C: 位从何而来?我应该如何使用relpath获取'first\\second\\file.txt'

最佳答案

那是因为 r'\\ZEYCUS' 实际上不是操作系统路径。它是一个网络主机说明符。 Windows 使用盘符,继承自 DOS,它们之间没有相对路径;相对路径仅在驱动器内起作用。 r"\\ZEYCUS\first" 是一个网络卷,其操作类似于驱动器。实际上,整个部分变成了隐式驱动器号。 C: 很可能是您的系统驱动器,可能是 Python 进程的当前驱动器。如果您仅在 Cmd 中尝试 dir\\zeycus,您会发现这是一个无效的卷语法(在一条毫无帮助的消息中),即使资源管理器中的相同说明符会生成一个卷列表。

关于python - Python 的 os.path.relpath 的意外行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47364579/

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