gpt4 book ai didi

python - os.path.abspath 与 os.path.dirname

转载 作者:太空狗 更新时间:2023-10-30 00:12:56 29 4
gpt4 key购买 nike

它们在字符串值上是相等的,但它们真的相等吗?发生了什么事?

import os

path_name1 = os.path.abspath(os.path.dirname(__file__))
path_name2 = os.path.dirname(os.path.abspath(__file__))

print(path_name1)
print(path_name2)

最佳答案

根据 here , __file__ 的值是一个字符串,它是在加载器导入模块时设置的。来自 here可以看到__file__的值为

The path to where the module data is stored (not set for built-in modules).

通常路径已经是模块的绝对路径。因此,您的代码的第 4 行可以简化为 path_name2 = os.path.dirname(__file__)。显然,代码的第 3 行可以表示为 path_name1 = os.path.abspath(path_name2)(现在让我们忽略执行顺序)。

接下来要看dirname 做了什么。事实上,您可以将 dirname 视为 os.path.split 的包装器,它将路径分成两部分:(head, tail)tail 是给定路径的最后一部分,head 是给定路径的其余部分。因此,path_name2 只是包含加载文件的目录路径。此外,path_name2 是绝对路径。因此 os.path.abspath(path_name2)path_name2 相同。因此,path_name1path_name2 相同。

关于python - os.path.abspath 与 os.path.dirname,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46817368/

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