gpt4 book ai didi

python - python os.path.abspath的误解

转载 作者:IT老高 更新时间:2023-10-28 20:32:07 33 4
gpt4 key购买 nike

我有以下代码:

directory = r'D:\images'
for file in os.listdir(directory):
print(os.path.abspath(file))

我想要下一个输出:

  • D:\images\img1.jpg
  • D:\images\img2.jpg 等

但我得到不同的结果:

  • D:\code\img1.jpg
  • D:\code\img2.jpg

其中 D:\code 是我当前的工作目录,这个结果与

os.path.normpath(os.path.join(os.getcwd(), file))

所以,问题是:我必须使用 os.path.abspath 的目的是什么

os.path.normpath(os.path.join(directory, file))

获取我的文件的真实绝对路径?尽可能展示真实的用例。

最佳答案

问题在于您对 os.listdir() 而不是 os.path.abspath() 的理解。 os.listdir() 返回目录中每个文件的名称。这会给你:

img1.jpg
img2.jpg
...

当您将这些传递给 os.path.abspath() 时,它们被视为相对路径。这意味着它与您执行代码的目录相关。这就是你得到“D:\code\img1.jpg”的原因。

相反,您要做的是将文件名与您列出的目录路径连接起来。

os.path.abspath(os.path.join(directory, file))

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

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